Project Overview¶
Computer vision can be used to automate supervision and trigger appropriate actions if an event is predicted from an image of interest. For example, food items can be easily identified by a camera based on:
The type of food
Color
Ingredients, etc.
📊 Data Description¶
The Food101 dataset contains 16,256 images across 17 food classes.
Each class can be roughly split into 70% training and 30% testing.
Classes are typically food names (e.g., apple_pie, chicken_curry).
The dataset has already been attached with this project. Please use the same version provided.
📎 Original Dataset Link for Reference Only:¶
Food101 Dataset on Kaggle
📖 Reference¶
The dataset was originally introduced in the paper: "Food-101 – Mining Discriminative Components with Random Forests" Authors: Lukas Bossard, Matthieu Guillaumin, Luc Van Gool
Import all libirary¶
import os
import numpy as np # Importing numpy for Matrix Operations
import pandas as pd # Importing pandas to read CSV files
import matplotlib.pyplot as plt # Importting matplotlib for Plotting and visualizing images
import math # Importing math module to perform mathematical operations
import cv2 # Importing openCV for image processing
import seaborn as sns # Importing seaborn to plot graphs
from collections import defaultdict
import random
import shutil
import os
# Tensorflow modules
import tensorflow as tf
from sklearn.model_selection import train_test_split
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.models import Sequential # Importing the sequential module to define a sequential model
from keras.callbacks import ReduceLROnPlateau, ModelCheckpoint, EarlyStopping
from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D,MaxPool2D, GlobalAveragePooling2D, Input, BatchNormalization, Multiply, Activation
from tensorflow.keras.optimizers import Adam,SGD,Optimizer
from tensorflow.keras.utils import to_categorical
# sklearn lib
from sklearn.metrics import accuracy_score
from sklearn.metrics import confusion_matrix
from keras import backend as K
from sklearn.model_selection import train_test_split # train test split
from sklearn.preprocessing import LabelEncoder # label encoder
from sklearn.metrics import accuracy_score, classification_report
# Set seeds for reproducibility
seed_value = 42
random.seed(seed_value)
np.random.seed(seed_value)
tf.random.set_seed(seed_value)
os.environ['PYTHONHASHSEED'] = str(seed_value)
# Uncomment and run the following code in case Google Colab is being used
from google.colab import drive
drive.mount('/content/drive')
Mounted at /content/drive
!unzip '/content/drive/MyDrive/Python Course_shared/computer Vision/Food_101.zip'
Streaming output truncated to the last 5000 lines.
inflating: Food_101/nachos/2305287.jpg
inflating: __MACOSX/Food_101/nachos/._2305287.jpg
inflating: Food_101/nachos/2644747.jpg
inflating: __MACOSX/Food_101/nachos/._2644747.jpg
inflating: Food_101/nachos/1425651.jpg
inflating: __MACOSX/Food_101/nachos/._1425651.jpg
inflating: Food_101/nachos/835919.jpg
inflating: __MACOSX/Food_101/nachos/._835919.jpg
inflating: Food_101/nachos/908454.jpg
inflating: __MACOSX/Food_101/nachos/._908454.jpg
inflating: Food_101/nachos/2553526.jpg
inflating: __MACOSX/Food_101/nachos/._2553526.jpg
inflating: Food_101/nachos/1323906.jpg
inflating: __MACOSX/Food_101/nachos/._1323906.jpg
inflating: Food_101/nachos/3228958.jpg
inflating: __MACOSX/Food_101/nachos/._3228958.jpg
inflating: Food_101/nachos/346658.jpg
inflating: __MACOSX/Food_101/nachos/._346658.jpg
inflating: Food_101/nachos/2702921.jpg
inflating: __MACOSX/Food_101/nachos/._2702921.jpg
inflating: Food_101/nachos/1525876.jpg
inflating: __MACOSX/Food_101/nachos/._1525876.jpg
inflating: Food_101/nachos/1563412.jpg
inflating: __MACOSX/Food_101/nachos/._1563412.jpg
inflating: Food_101/nachos/2860968.jpg
inflating: __MACOSX/Food_101/nachos/._2860968.jpg
inflating: Food_101/nachos/664395.jpg
inflating: __MACOSX/Food_101/nachos/._664395.jpg
inflating: Food_101/nachos/1591690.jpg
inflating: __MACOSX/Food_101/nachos/._1591690.jpg
inflating: Food_101/nachos/817789.jpg
inflating: __MACOSX/Food_101/nachos/._817789.jpg
inflating: Food_101/nachos/3345746.jpg
inflating: __MACOSX/Food_101/nachos/._3345746.jpg
inflating: Food_101/nachos/1381155.jpg
inflating: __MACOSX/Food_101/nachos/._1381155.jpg
inflating: Food_101/nachos/1578967.jpg
inflating: __MACOSX/Food_101/nachos/._1578967.jpg
inflating: Food_101/nachos/3854890.jpg
inflating: __MACOSX/Food_101/nachos/._3854890.jpg
inflating: Food_101/nachos/178322.jpg
inflating: __MACOSX/Food_101/nachos/._178322.jpg
inflating: Food_101/nachos/251052.jpg
inflating: __MACOSX/Food_101/nachos/._251052.jpg
inflating: Food_101/nachos/2453485.jpg
inflating: __MACOSX/Food_101/nachos/._2453485.jpg
inflating: Food_101/nachos/2459802.jpg
inflating: __MACOSX/Food_101/nachos/._2459802.jpg
inflating: Food_101/nachos/333416.jpg
inflating: __MACOSX/Food_101/nachos/._333416.jpg
inflating: Food_101/nachos/2548927.jpg
inflating: __MACOSX/Food_101/nachos/._2548927.jpg
inflating: Food_101/nachos/416432.jpg
inflating: __MACOSX/Food_101/nachos/._416432.jpg
inflating: Food_101/nachos/3205982.jpg
inflating: __MACOSX/Food_101/nachos/._3205982.jpg
inflating: Food_101/nachos/3077360.jpg
inflating: __MACOSX/Food_101/nachos/._3077360.jpg
inflating: Food_101/nachos/821171.jpg
inflating: __MACOSX/Food_101/nachos/._821171.jpg
inflating: Food_101/nachos/3873751.jpg
inflating: __MACOSX/Food_101/nachos/._3873751.jpg
inflating: Food_101/nachos/1228715.jpg
inflating: __MACOSX/Food_101/nachos/._1228715.jpg
inflating: Food_101/nachos/178860.jpg
inflating: __MACOSX/Food_101/nachos/._178860.jpg
inflating: Food_101/nachos/2225749.jpg
inflating: __MACOSX/Food_101/nachos/._2225749.jpg
inflating: Food_101/nachos/1627410.jpg
inflating: __MACOSX/Food_101/nachos/._1627410.jpg
inflating: Food_101/nachos/3725318.jpg
inflating: __MACOSX/Food_101/nachos/._3725318.jpg
inflating: Food_101/nachos/1648955.jpg
inflating: __MACOSX/Food_101/nachos/._1648955.jpg
inflating: Food_101/nachos/1803626.jpg
inflating: __MACOSX/Food_101/nachos/._1803626.jpg
inflating: Food_101/nachos/3266015.jpg
inflating: __MACOSX/Food_101/nachos/._3266015.jpg
inflating: Food_101/nachos/2756034.jpg
inflating: __MACOSX/Food_101/nachos/._2756034.jpg
inflating: Food_101/nachos/3161098.jpg
inflating: __MACOSX/Food_101/nachos/._3161098.jpg
inflating: Food_101/nachos/3441815.jpg
inflating: __MACOSX/Food_101/nachos/._3441815.jpg
inflating: Food_101/nachos/456375.jpg
inflating: __MACOSX/Food_101/nachos/._456375.jpg
inflating: Food_101/nachos/3735057.jpg
inflating: __MACOSX/Food_101/nachos/._3735057.jpg
inflating: Food_101/nachos/1370191.jpg
inflating: __MACOSX/Food_101/nachos/._1370191.jpg
inflating: Food_101/nachos/1665780.jpg
inflating: __MACOSX/Food_101/nachos/._1665780.jpg
inflating: Food_101/nachos/781442.jpg
inflating: __MACOSX/Food_101/nachos/._781442.jpg
inflating: Food_101/nachos/1564426.jpg
inflating: __MACOSX/Food_101/nachos/._1564426.jpg
inflating: Food_101/nachos/3557865.jpg
inflating: __MACOSX/Food_101/nachos/._3557865.jpg
inflating: Food_101/nachos/926596.jpg
inflating: __MACOSX/Food_101/nachos/._926596.jpg
inflating: Food_101/nachos/2842504.jpg
inflating: __MACOSX/Food_101/nachos/._2842504.jpg
inflating: Food_101/nachos/1635835.jpg
inflating: __MACOSX/Food_101/nachos/._1635835.jpg
inflating: Food_101/nachos/1621317.jpg
inflating: __MACOSX/Food_101/nachos/._1621317.jpg
inflating: Food_101/nachos/2589015.jpg
inflating: __MACOSX/Food_101/nachos/._2589015.jpg
inflating: Food_101/nachos/1869992.jpg
inflating: __MACOSX/Food_101/nachos/._1869992.jpg
inflating: Food_101/nachos/3855184.jpg
inflating: __MACOSX/Food_101/nachos/._3855184.jpg
inflating: Food_101/nachos/3189849.jpg
inflating: __MACOSX/Food_101/nachos/._3189849.jpg
inflating: Food_101/nachos/2165276.jpg
inflating: __MACOSX/Food_101/nachos/._2165276.jpg
inflating: Food_101/nachos/167607.jpg
inflating: __MACOSX/Food_101/nachos/._167607.jpg
inflating: Food_101/nachos/2890130.jpg
inflating: __MACOSX/Food_101/nachos/._2890130.jpg
inflating: Food_101/nachos/3243687.jpg
inflating: __MACOSX/Food_101/nachos/._3243687.jpg
inflating: Food_101/nachos/2774693.jpg
inflating: __MACOSX/Food_101/nachos/._2774693.jpg
inflating: Food_101/nachos/3281288.jpg
inflating: __MACOSX/Food_101/nachos/._3281288.jpg
inflating: Food_101/nachos/93041.jpg
inflating: __MACOSX/Food_101/nachos/._93041.jpg
inflating: Food_101/nachos/2110172.jpg
inflating: __MACOSX/Food_101/nachos/._2110172.jpg
inflating: Food_101/nachos/3817438.jpg
inflating: __MACOSX/Food_101/nachos/._3817438.jpg
inflating: Food_101/nachos/3219238.jpg
inflating: __MACOSX/Food_101/nachos/._3219238.jpg
inflating: Food_101/nachos/3228797.jpg
inflating: __MACOSX/Food_101/nachos/._3228797.jpg
inflating: Food_101/nachos/1568961.jpg
inflating: __MACOSX/Food_101/nachos/._1568961.jpg
inflating: Food_101/nachos/207175.jpg
inflating: __MACOSX/Food_101/nachos/._207175.jpg
inflating: Food_101/nachos/3817160.jpg
inflating: __MACOSX/Food_101/nachos/._3817160.jpg
inflating: Food_101/nachos/441804.jpg
inflating: __MACOSX/Food_101/nachos/._441804.jpg
inflating: Food_101/nachos/571938.jpg
inflating: __MACOSX/Food_101/nachos/._571938.jpg
inflating: Food_101/nachos/3758285.jpg
inflating: __MACOSX/Food_101/nachos/._3758285.jpg
inflating: Food_101/nachos/2583738.jpg
inflating: __MACOSX/Food_101/nachos/._2583738.jpg
inflating: Food_101/nachos/3458201.jpg
inflating: __MACOSX/Food_101/nachos/._3458201.jpg
inflating: Food_101/nachos/2164340.jpg
inflating: __MACOSX/Food_101/nachos/._2164340.jpg
inflating: Food_101/nachos/1141241.jpg
inflating: __MACOSX/Food_101/nachos/._1141241.jpg
inflating: Food_101/nachos/3684259.jpg
inflating: __MACOSX/Food_101/nachos/._3684259.jpg
inflating: Food_101/nachos/2278882.jpg
inflating: __MACOSX/Food_101/nachos/._2278882.jpg
inflating: Food_101/nachos/110704.jpg
inflating: __MACOSX/Food_101/nachos/._110704.jpg
inflating: Food_101/nachos/544149.jpg
inflating: __MACOSX/Food_101/nachos/._544149.jpg
inflating: Food_101/nachos/165364.jpg
inflating: __MACOSX/Food_101/nachos/._165364.jpg
inflating: Food_101/nachos/2820234.jpg
inflating: __MACOSX/Food_101/nachos/._2820234.jpg
inflating: Food_101/nachos/1663278.jpg
inflating: __MACOSX/Food_101/nachos/._1663278.jpg
inflating: Food_101/nachos/3461292.jpg
inflating: __MACOSX/Food_101/nachos/._3461292.jpg
inflating: Food_101/nachos/139355.jpg
inflating: __MACOSX/Food_101/nachos/._139355.jpg
inflating: Food_101/nachos/3190513.jpg
inflating: __MACOSX/Food_101/nachos/._3190513.jpg
inflating: Food_101/nachos/3198629.jpg
inflating: __MACOSX/Food_101/nachos/._3198629.jpg
inflating: Food_101/nachos/573256.jpg
inflating: __MACOSX/Food_101/nachos/._573256.jpg
inflating: Food_101/nachos/3714312.jpg
inflating: __MACOSX/Food_101/nachos/._3714312.jpg
inflating: Food_101/nachos/3853497.jpg
inflating: __MACOSX/Food_101/nachos/._3853497.jpg
inflating: Food_101/nachos/3440076.jpg
inflating: __MACOSX/Food_101/nachos/._3440076.jpg
inflating: Food_101/nachos/74023.jpg
inflating: __MACOSX/Food_101/nachos/._74023.jpg
inflating: Food_101/nachos/2100598.jpg
inflating: __MACOSX/Food_101/nachos/._2100598.jpg
inflating: Food_101/nachos/938422.jpg
inflating: __MACOSX/Food_101/nachos/._938422.jpg
inflating: Food_101/nachos/500252.jpg
inflating: __MACOSX/Food_101/nachos/._500252.jpg
inflating: Food_101/nachos/3246885.jpg
inflating: __MACOSX/Food_101/nachos/._3246885.jpg
inflating: Food_101/nachos/2803836.jpg
inflating: __MACOSX/Food_101/nachos/._2803836.jpg
inflating: Food_101/nachos/671349.jpg
inflating: __MACOSX/Food_101/nachos/._671349.jpg
inflating: Food_101/nachos/376174.jpg
inflating: __MACOSX/Food_101/nachos/._376174.jpg
inflating: Food_101/nachos/518390.jpg
inflating: __MACOSX/Food_101/nachos/._518390.jpg
inflating: Food_101/nachos/1087165.jpg
inflating: __MACOSX/Food_101/nachos/._1087165.jpg
inflating: Food_101/nachos/1374733.jpg
inflating: __MACOSX/Food_101/nachos/._1374733.jpg
inflating: Food_101/nachos/3622306.jpg
inflating: __MACOSX/Food_101/nachos/._3622306.jpg
inflating: Food_101/nachos/1611189.jpg
inflating: __MACOSX/Food_101/nachos/._1611189.jpg
inflating: Food_101/nachos/3273369.jpg
inflating: __MACOSX/Food_101/nachos/._3273369.jpg
inflating: Food_101/nachos/2322541.jpg
inflating: __MACOSX/Food_101/nachos/._2322541.jpg
inflating: Food_101/nachos/2554713.jpg
inflating: __MACOSX/Food_101/nachos/._2554713.jpg
inflating: Food_101/nachos/1836073.jpg
inflating: __MACOSX/Food_101/nachos/._1836073.jpg
inflating: Food_101/nachos/939304.jpg
inflating: __MACOSX/Food_101/nachos/._939304.jpg
inflating: Food_101/nachos/3886136.jpg
inflating: __MACOSX/Food_101/nachos/._3886136.jpg
inflating: Food_101/nachos/2534024.jpg
inflating: __MACOSX/Food_101/nachos/._2534024.jpg
inflating: Food_101/nachos/2622198.jpg
inflating: __MACOSX/Food_101/nachos/._2622198.jpg
inflating: Food_101/nachos/3308863.jpg
inflating: __MACOSX/Food_101/nachos/._3308863.jpg
inflating: Food_101/nachos/465019.jpg
inflating: __MACOSX/Food_101/nachos/._465019.jpg
inflating: Food_101/nachos/2527064.jpg
inflating: __MACOSX/Food_101/nachos/._2527064.jpg
inflating: Food_101/nachos/1093272.jpg
inflating: __MACOSX/Food_101/nachos/._1093272.jpg
inflating: Food_101/nachos/1332404.jpg
inflating: __MACOSX/Food_101/nachos/._1332404.jpg
inflating: Food_101/nachos/3275888.jpg
inflating: __MACOSX/Food_101/nachos/._3275888.jpg
inflating: Food_101/nachos/3340370.jpg
inflating: __MACOSX/Food_101/nachos/._3340370.jpg
inflating: Food_101/nachos/1784970.jpg
inflating: __MACOSX/Food_101/nachos/._1784970.jpg
inflating: Food_101/nachos/561082.jpg
inflating: __MACOSX/Food_101/nachos/._561082.jpg
inflating: Food_101/nachos/1674467.jpg
inflating: __MACOSX/Food_101/nachos/._1674467.jpg
inflating: Food_101/nachos/3846676.jpg
inflating: __MACOSX/Food_101/nachos/._3846676.jpg
inflating: Food_101/nachos/527996.jpg
inflating: __MACOSX/Food_101/nachos/._527996.jpg
inflating: Food_101/nachos/2807503.jpg
inflating: __MACOSX/Food_101/nachos/._2807503.jpg
inflating: Food_101/nachos/3784674.jpg
inflating: __MACOSX/Food_101/nachos/._3784674.jpg
inflating: Food_101/nachos/3826814.jpg
inflating: __MACOSX/Food_101/nachos/._3826814.jpg
inflating: Food_101/nachos/2312914.jpg
inflating: __MACOSX/Food_101/nachos/._2312914.jpg
inflating: Food_101/nachos/2647506.jpg
inflating: __MACOSX/Food_101/nachos/._2647506.jpg
inflating: Food_101/nachos/909994.jpg
inflating: __MACOSX/Food_101/nachos/._909994.jpg
inflating: Food_101/nachos/52624.jpg
inflating: __MACOSX/Food_101/nachos/._52624.jpg
inflating: Food_101/nachos/2247901.jpg
inflating: __MACOSX/Food_101/nachos/._2247901.jpg
inflating: Food_101/nachos/2370834.jpg
inflating: __MACOSX/Food_101/nachos/._2370834.jpg
inflating: Food_101/nachos/2863042.jpg
inflating: __MACOSX/Food_101/nachos/._2863042.jpg
inflating: Food_101/nachos/1050956.jpg
inflating: __MACOSX/Food_101/nachos/._1050956.jpg
inflating: Food_101/nachos/3116808.jpg
inflating: __MACOSX/Food_101/nachos/._3116808.jpg
inflating: Food_101/nachos/3694675.jpg
inflating: __MACOSX/Food_101/nachos/._3694675.jpg
inflating: Food_101/nachos/2230747.jpg
inflating: __MACOSX/Food_101/nachos/._2230747.jpg
inflating: Food_101/nachos/863967.jpg
inflating: __MACOSX/Food_101/nachos/._863967.jpg
inflating: Food_101/nachos/1930360.jpg
inflating: __MACOSX/Food_101/nachos/._1930360.jpg
inflating: Food_101/nachos/1944387.jpg
inflating: __MACOSX/Food_101/nachos/._1944387.jpg
inflating: Food_101/nachos/3123469.jpg
inflating: __MACOSX/Food_101/nachos/._3123469.jpg
inflating: Food_101/nachos/903922.jpg
inflating: __MACOSX/Food_101/nachos/._903922.jpg
inflating: Food_101/nachos/40630.jpg
inflating: __MACOSX/Food_101/nachos/._40630.jpg
inflating: Food_101/nachos/713709.jpg
inflating: __MACOSX/Food_101/nachos/._713709.jpg
inflating: Food_101/nachos/2255726.jpg
inflating: __MACOSX/Food_101/nachos/._2255726.jpg
inflating: Food_101/nachos/3234783.jpg
inflating: __MACOSX/Food_101/nachos/._3234783.jpg
inflating: Food_101/nachos/3115939.jpg
inflating: __MACOSX/Food_101/nachos/._3115939.jpg
inflating: Food_101/nachos/3406230.jpg
inflating: __MACOSX/Food_101/nachos/._3406230.jpg
inflating: Food_101/nachos/3821951.jpg
inflating: __MACOSX/Food_101/nachos/._3821951.jpg
inflating: Food_101/nachos/3264375.jpg
inflating: __MACOSX/Food_101/nachos/._3264375.jpg
inflating: Food_101/nachos/2323303.jpg
inflating: __MACOSX/Food_101/nachos/._2323303.jpg
inflating: Food_101/nachos/2325772.jpg
inflating: __MACOSX/Food_101/nachos/._2325772.jpg
inflating: Food_101/nachos/2870823.jpg
inflating: __MACOSX/Food_101/nachos/._2870823.jpg
inflating: Food_101/nachos/1306389.jpg
inflating: __MACOSX/Food_101/nachos/._1306389.jpg
inflating: Food_101/nachos/2602853.jpg
inflating: __MACOSX/Food_101/nachos/._2602853.jpg
inflating: Food_101/nachos/1777036.jpg
inflating: __MACOSX/Food_101/nachos/._1777036.jpg
inflating: Food_101/nachos/68433.jpg
inflating: __MACOSX/Food_101/nachos/._68433.jpg
inflating: Food_101/nachos/1944967.jpg
inflating: __MACOSX/Food_101/nachos/._1944967.jpg
inflating: Food_101/nachos/175416.jpg
inflating: __MACOSX/Food_101/nachos/._175416.jpg
inflating: Food_101/nachos/1634126.jpg
inflating: __MACOSX/Food_101/nachos/._1634126.jpg
inflating: Food_101/nachos/2381984.jpg
inflating: __MACOSX/Food_101/nachos/._2381984.jpg
inflating: Food_101/nachos/481749.jpg
inflating: __MACOSX/Food_101/nachos/._481749.jpg
inflating: Food_101/nachos/1872218.jpg
inflating: __MACOSX/Food_101/nachos/._1872218.jpg
inflating: Food_101/nachos/1409545.jpg
inflating: __MACOSX/Food_101/nachos/._1409545.jpg
inflating: Food_101/nachos/932678.jpg
inflating: __MACOSX/Food_101/nachos/._932678.jpg
inflating: Food_101/nachos/787394.jpg
inflating: __MACOSX/Food_101/nachos/._787394.jpg
inflating: Food_101/nachos/1079533.jpg
inflating: __MACOSX/Food_101/nachos/._1079533.jpg
inflating: Food_101/nachos/763953.jpg
inflating: __MACOSX/Food_101/nachos/._763953.jpg
inflating: Food_101/nachos/3924814.jpg
inflating: __MACOSX/Food_101/nachos/._3924814.jpg
inflating: Food_101/nachos/2134822.jpg
inflating: __MACOSX/Food_101/nachos/._2134822.jpg
inflating: Food_101/nachos/1202878.jpg
inflating: __MACOSX/Food_101/nachos/._1202878.jpg
inflating: Food_101/nachos/3208292.jpg
inflating: __MACOSX/Food_101/nachos/._3208292.jpg
inflating: Food_101/nachos/990568.jpg
inflating: __MACOSX/Food_101/nachos/._990568.jpg
inflating: Food_101/nachos/3362063.jpg
inflating: __MACOSX/Food_101/nachos/._3362063.jpg
inflating: Food_101/nachos/3644535.jpg
inflating: __MACOSX/Food_101/nachos/._3644535.jpg
inflating: Food_101/nachos/1230376.jpg
inflating: __MACOSX/Food_101/nachos/._1230376.jpg
inflating: Food_101/nachos/1692246.jpg
inflating: __MACOSX/Food_101/nachos/._1692246.jpg
inflating: Food_101/nachos/745214.jpg
inflating: __MACOSX/Food_101/nachos/._745214.jpg
inflating: Food_101/nachos/1997727.jpg
inflating: __MACOSX/Food_101/nachos/._1997727.jpg
inflating: Food_101/nachos/337313.jpg
inflating: __MACOSX/Food_101/nachos/._337313.jpg
inflating: Food_101/nachos/3382395.jpg
inflating: __MACOSX/Food_101/nachos/._3382395.jpg
inflating: Food_101/nachos/416838.jpg
inflating: __MACOSX/Food_101/nachos/._416838.jpg
inflating: Food_101/nachos/443811.jpg
inflating: __MACOSX/Food_101/nachos/._443811.jpg
inflating: Food_101/nachos/1890869.jpg
inflating: __MACOSX/Food_101/nachos/._1890869.jpg
inflating: Food_101/nachos/488433.jpg
inflating: __MACOSX/Food_101/nachos/._488433.jpg
inflating: Food_101/nachos/305202.jpg
inflating: __MACOSX/Food_101/nachos/._305202.jpg
inflating: Food_101/nachos/940615.jpg
inflating: __MACOSX/Food_101/nachos/._940615.jpg
inflating: Food_101/nachos/194548.jpg
inflating: __MACOSX/Food_101/nachos/._194548.jpg
inflating: Food_101/nachos/1366044.jpg
inflating: __MACOSX/Food_101/nachos/._1366044.jpg
inflating: Food_101/nachos/1861847.jpg
inflating: __MACOSX/Food_101/nachos/._1861847.jpg
inflating: Food_101/nachos/1855512.jpg
inflating: __MACOSX/Food_101/nachos/._1855512.jpg
inflating: Food_101/nachos/907204.jpg
inflating: __MACOSX/Food_101/nachos/._907204.jpg
inflating: Food_101/nachos/3565635.jpg
inflating: __MACOSX/Food_101/nachos/._3565635.jpg
inflating: Food_101/nachos/160634.jpg
inflating: __MACOSX/Food_101/nachos/._160634.jpg
inflating: Food_101/nachos/2123219.jpg
inflating: __MACOSX/Food_101/nachos/._2123219.jpg
inflating: Food_101/nachos/532391.jpg
inflating: __MACOSX/Food_101/nachos/._532391.jpg
inflating: Food_101/nachos/62094.jpg
inflating: __MACOSX/Food_101/nachos/._62094.jpg
inflating: Food_101/nachos/2887448.jpg
inflating: __MACOSX/Food_101/nachos/._2887448.jpg
inflating: Food_101/nachos/510859.jpg
inflating: __MACOSX/Food_101/nachos/._510859.jpg
inflating: Food_101/nachos/2745310.jpg
inflating: __MACOSX/Food_101/nachos/._2745310.jpg
inflating: Food_101/nachos/3612611.jpg
inflating: __MACOSX/Food_101/nachos/._3612611.jpg
inflating: Food_101/nachos/3287833.jpg
inflating: __MACOSX/Food_101/nachos/._3287833.jpg
inflating: Food_101/nachos/3406804.jpg
inflating: __MACOSX/Food_101/nachos/._3406804.jpg
inflating: Food_101/nachos/3266415.jpg
inflating: __MACOSX/Food_101/nachos/._3266415.jpg
inflating: Food_101/nachos/3027383.jpg
inflating: __MACOSX/Food_101/nachos/._3027383.jpg
inflating: Food_101/nachos/3433129.jpg
inflating: __MACOSX/Food_101/nachos/._3433129.jpg
inflating: Food_101/nachos/1125448.jpg
inflating: __MACOSX/Food_101/nachos/._1125448.jpg
inflating: Food_101/nachos/3304521.jpg
inflating: __MACOSX/Food_101/nachos/._3304521.jpg
inflating: Food_101/nachos/3311892.jpg
inflating: __MACOSX/Food_101/nachos/._3311892.jpg
inflating: Food_101/nachos/397560.jpg
inflating: __MACOSX/Food_101/nachos/._397560.jpg
inflating: Food_101/nachos/514354.jpg
inflating: __MACOSX/Food_101/nachos/._514354.jpg
inflating: Food_101/nachos/1080976.jpg
inflating: __MACOSX/Food_101/nachos/._1080976.jpg
inflating: Food_101/nachos/1320007.jpg
inflating: __MACOSX/Food_101/nachos/._1320007.jpg
inflating: Food_101/nachos/2662587.jpg
inflating: __MACOSX/Food_101/nachos/._2662587.jpg
inflating: Food_101/nachos/2357913.jpg
inflating: __MACOSX/Food_101/nachos/._2357913.jpg
inflating: Food_101/nachos/2869008.jpg
inflating: __MACOSX/Food_101/nachos/._2869008.jpg
inflating: Food_101/nachos/292154.jpg
inflating: __MACOSX/Food_101/nachos/._292154.jpg
inflating: Food_101/nachos/2173612.jpg
inflating: __MACOSX/Food_101/nachos/._2173612.jpg
inflating: Food_101/nachos/1368645.jpg
inflating: __MACOSX/Food_101/nachos/._1368645.jpg
inflating: Food_101/nachos/172805.jpg
inflating: __MACOSX/Food_101/nachos/._172805.jpg
inflating: Food_101/nachos/3378575.jpg
inflating: __MACOSX/Food_101/nachos/._3378575.jpg
inflating: Food_101/nachos/121508.jpg
inflating: __MACOSX/Food_101/nachos/._121508.jpg
inflating: Food_101/nachos/2844978.jpg
inflating: __MACOSX/Food_101/nachos/._2844978.jpg
inflating: Food_101/nachos/3296309.jpg
inflating: __MACOSX/Food_101/nachos/._3296309.jpg
inflating: Food_101/nachos/51925.jpg
inflating: __MACOSX/Food_101/nachos/._51925.jpg
inflating: Food_101/nachos/3546603.jpg
inflating: __MACOSX/Food_101/nachos/._3546603.jpg
inflating: Food_101/nachos/2206816.jpg
inflating: __MACOSX/Food_101/nachos/._2206816.jpg
inflating: Food_101/nachos/3709345.jpg
inflating: __MACOSX/Food_101/nachos/._3709345.jpg
inflating: Food_101/nachos/1421208.jpg
inflating: __MACOSX/Food_101/nachos/._1421208.jpg
inflating: Food_101/nachos/1928699.jpg
inflating: __MACOSX/Food_101/nachos/._1928699.jpg
inflating: Food_101/nachos/1114939.jpg
inflating: __MACOSX/Food_101/nachos/._1114939.jpg
inflating: Food_101/nachos/3517672.jpg
inflating: __MACOSX/Food_101/nachos/._3517672.jpg
inflating: Food_101/nachos/2173559.jpg
inflating: __MACOSX/Food_101/nachos/._2173559.jpg
inflating: Food_101/nachos/3187929.jpg
inflating: __MACOSX/Food_101/nachos/._3187929.jpg
inflating: Food_101/nachos/1303230.jpg
inflating: __MACOSX/Food_101/nachos/._1303230.jpg
inflating: Food_101/nachos/3528497.jpg
inflating: __MACOSX/Food_101/nachos/._3528497.jpg
inflating: Food_101/nachos/2567042.jpg
inflating: __MACOSX/Food_101/nachos/._2567042.jpg
inflating: Food_101/nachos/1561639.jpg
inflating: __MACOSX/Food_101/nachos/._1561639.jpg
inflating: Food_101/nachos/225270.jpg
inflating: __MACOSX/Food_101/nachos/._225270.jpg
inflating: Food_101/nachos/2847727.jpg
inflating: __MACOSX/Food_101/nachos/._2847727.jpg
inflating: Food_101/nachos/1506305.jpg
inflating: __MACOSX/Food_101/nachos/._1506305.jpg
inflating: Food_101/nachos/1835420.jpg
inflating: __MACOSX/Food_101/nachos/._1835420.jpg
inflating: Food_101/nachos/1253611.jpg
inflating: __MACOSX/Food_101/nachos/._1253611.jpg
inflating: Food_101/nachos/450661.jpg
inflating: __MACOSX/Food_101/nachos/._450661.jpg
inflating: Food_101/nachos/2122500.jpg
inflating: __MACOSX/Food_101/nachos/._2122500.jpg
inflating: Food_101/nachos/1439678.jpg
inflating: __MACOSX/Food_101/nachos/._1439678.jpg
inflating: Food_101/nachos/3315798.jpg
inflating: __MACOSX/Food_101/nachos/._3315798.jpg
inflating: Food_101/nachos/3471051.jpg
inflating: __MACOSX/Food_101/nachos/._3471051.jpg
inflating: Food_101/nachos/1228506.jpg
inflating: __MACOSX/Food_101/nachos/._1228506.jpg
inflating: Food_101/nachos/485666.jpg
inflating: __MACOSX/Food_101/nachos/._485666.jpg
inflating: Food_101/nachos/3289374.jpg
inflating: __MACOSX/Food_101/nachos/._3289374.jpg
inflating: Food_101/nachos/399028.jpg
inflating: __MACOSX/Food_101/nachos/._399028.jpg
inflating: Food_101/nachos/1459952.jpg
inflating: __MACOSX/Food_101/nachos/._1459952.jpg
inflating: Food_101/nachos/2816150.jpg
inflating: __MACOSX/Food_101/nachos/._2816150.jpg
inflating: Food_101/nachos/1336102.jpg
inflating: __MACOSX/Food_101/nachos/._1336102.jpg
inflating: Food_101/nachos/1323241.jpg
inflating: __MACOSX/Food_101/nachos/._1323241.jpg
inflating: Food_101/nachos/3308865.jpg
inflating: __MACOSX/Food_101/nachos/._3308865.jpg
inflating: Food_101/nachos/1907531.jpg
inflating: __MACOSX/Food_101/nachos/._1907531.jpg
inflating: Food_101/nachos/2905662.jpg
inflating: __MACOSX/Food_101/nachos/._2905662.jpg
inflating: Food_101/nachos/352173.jpg
inflating: __MACOSX/Food_101/nachos/._352173.jpg
inflating: Food_101/nachos/1459211.jpg
inflating: __MACOSX/Food_101/nachos/._1459211.jpg
inflating: Food_101/nachos/2869579.jpg
inflating: __MACOSX/Food_101/nachos/._2869579.jpg
inflating: Food_101/nachos/1862829.jpg
inflating: __MACOSX/Food_101/nachos/._1862829.jpg
inflating: Food_101/nachos/614474.jpg
inflating: __MACOSX/Food_101/nachos/._614474.jpg
inflating: Food_101/nachos/2374305.jpg
inflating: __MACOSX/Food_101/nachos/._2374305.jpg
inflating: Food_101/nachos/3469232.jpg
inflating: __MACOSX/Food_101/nachos/._3469232.jpg
inflating: Food_101/nachos/3494397.jpg
inflating: __MACOSX/Food_101/nachos/._3494397.jpg
inflating: Food_101/nachos/2585831.jpg
inflating: __MACOSX/Food_101/nachos/._2585831.jpg
inflating: Food_101/nachos/3021081.jpg
inflating: __MACOSX/Food_101/nachos/._3021081.jpg
inflating: Food_101/nachos/697068.jpg
inflating: __MACOSX/Food_101/nachos/._697068.jpg
inflating: Food_101/nachos/3333300.jpg
inflating: __MACOSX/Food_101/nachos/._3333300.jpg
inflating: Food_101/nachos/1299584.jpg
inflating: __MACOSX/Food_101/nachos/._1299584.jpg
inflating: Food_101/nachos/1704678.jpg
inflating: __MACOSX/Food_101/nachos/._1704678.jpg
inflating: Food_101/nachos/1431109.jpg
inflating: __MACOSX/Food_101/nachos/._1431109.jpg
inflating: Food_101/nachos/980119.jpg
inflating: __MACOSX/Food_101/nachos/._980119.jpg
inflating: Food_101/nachos/1243049.jpg
inflating: __MACOSX/Food_101/nachos/._1243049.jpg
inflating: Food_101/nachos/209662.jpg
inflating: __MACOSX/Food_101/nachos/._209662.jpg
inflating: Food_101/nachos/965156.jpg
inflating: __MACOSX/Food_101/nachos/._965156.jpg
inflating: Food_101/nachos/797097.jpg
inflating: __MACOSX/Food_101/nachos/._797097.jpg
inflating: Food_101/nachos/3569725.jpg
inflating: __MACOSX/Food_101/nachos/._3569725.jpg
inflating: Food_101/nachos/1892767.jpg
inflating: __MACOSX/Food_101/nachos/._1892767.jpg
inflating: Food_101/nachos/2746331.jpg
inflating: __MACOSX/Food_101/nachos/._2746331.jpg
inflating: Food_101/nachos/2954462.jpg
inflating: __MACOSX/Food_101/nachos/._2954462.jpg
inflating: Food_101/nachos/1379896.jpg
inflating: __MACOSX/Food_101/nachos/._1379896.jpg
inflating: Food_101/nachos/2401015.jpg
inflating: __MACOSX/Food_101/nachos/._2401015.jpg
inflating: Food_101/nachos/929638.jpg
inflating: __MACOSX/Food_101/nachos/._929638.jpg
inflating: Food_101/nachos/1494012.jpg
inflating: __MACOSX/Food_101/nachos/._1494012.jpg
inflating: Food_101/nachos/947693.jpg
inflating: __MACOSX/Food_101/nachos/._947693.jpg
inflating: Food_101/nachos/1612344.jpg
inflating: __MACOSX/Food_101/nachos/._1612344.jpg
inflating: Food_101/nachos/1119704.jpg
inflating: __MACOSX/Food_101/nachos/._1119704.jpg
inflating: Food_101/nachos/292052.jpg
inflating: __MACOSX/Food_101/nachos/._292052.jpg
inflating: Food_101/nachos/839211.jpg
inflating: __MACOSX/Food_101/nachos/._839211.jpg
inflating: Food_101/nachos/1622536.jpg
inflating: __MACOSX/Food_101/nachos/._1622536.jpg
inflating: Food_101/nachos/248212.jpg
inflating: __MACOSX/Food_101/nachos/._248212.jpg
inflating: Food_101/nachos/1871211.jpg
inflating: __MACOSX/Food_101/nachos/._1871211.jpg
inflating: Food_101/nachos/2592053.jpg
inflating: __MACOSX/Food_101/nachos/._2592053.jpg
inflating: Food_101/nachos/2324810.jpg
inflating: __MACOSX/Food_101/nachos/._2324810.jpg
inflating: Food_101/nachos/137867.jpg
inflating: __MACOSX/Food_101/nachos/._137867.jpg
inflating: Food_101/nachos/988425.jpg
inflating: __MACOSX/Food_101/nachos/._988425.jpg
inflating: Food_101/nachos/1046957.jpg
inflating: __MACOSX/Food_101/nachos/._1046957.jpg
inflating: Food_101/nachos/485211.jpg
inflating: __MACOSX/Food_101/nachos/._485211.jpg
inflating: Food_101/nachos/3706789.jpg
inflating: __MACOSX/Food_101/nachos/._3706789.jpg
inflating: Food_101/nachos/3511503.jpg
inflating: __MACOSX/Food_101/nachos/._3511503.jpg
inflating: Food_101/nachos/3632363.jpg
inflating: __MACOSX/Food_101/nachos/._3632363.jpg
inflating: Food_101/nachos/3321881.jpg
inflating: __MACOSX/Food_101/nachos/._3321881.jpg
inflating: Food_101/nachos/3141667.jpg
inflating: __MACOSX/Food_101/nachos/._3141667.jpg
inflating: Food_101/nachos/698206.jpg
inflating: __MACOSX/Food_101/nachos/._698206.jpg
inflating: Food_101/nachos/3894142.jpg
inflating: __MACOSX/Food_101/nachos/._3894142.jpg
inflating: Food_101/nachos/2409919.jpg
inflating: __MACOSX/Food_101/nachos/._2409919.jpg
inflating: Food_101/nachos/2496234.jpg
inflating: __MACOSX/Food_101/nachos/._2496234.jpg
inflating: Food_101/nachos/1866963.jpg
inflating: __MACOSX/Food_101/nachos/._1866963.jpg
inflating: Food_101/nachos/1143351.jpg
inflating: __MACOSX/Food_101/nachos/._1143351.jpg
inflating: Food_101/nachos/3843342.jpg
inflating: __MACOSX/Food_101/nachos/._3843342.jpg
inflating: Food_101/nachos/1765867.jpg
inflating: __MACOSX/Food_101/nachos/._1765867.jpg
inflating: Food_101/nachos/3268846.jpg
inflating: __MACOSX/Food_101/nachos/._3268846.jpg
inflating: Food_101/nachos/30238.jpg
inflating: __MACOSX/Food_101/nachos/._30238.jpg
inflating: Food_101/nachos/1295618.jpg
inflating: __MACOSX/Food_101/nachos/._1295618.jpg
inflating: Food_101/nachos/832231.jpg
inflating: __MACOSX/Food_101/nachos/._832231.jpg
inflating: Food_101/nachos/1706293.jpg
inflating: __MACOSX/Food_101/nachos/._1706293.jpg
inflating: Food_101/nachos/1230273.jpg
inflating: __MACOSX/Food_101/nachos/._1230273.jpg
inflating: Food_101/nachos/1952973.jpg
inflating: __MACOSX/Food_101/nachos/._1952973.jpg
inflating: Food_101/nachos/3396018.jpg
inflating: __MACOSX/Food_101/nachos/._3396018.jpg
inflating: Food_101/nachos/456896.jpg
inflating: __MACOSX/Food_101/nachos/._456896.jpg
inflating: Food_101/nachos/443257.jpg
inflating: __MACOSX/Food_101/nachos/._443257.jpg
inflating: Food_101/nachos/2299957.jpg
inflating: __MACOSX/Food_101/nachos/._2299957.jpg
inflating: Food_101/nachos/83227.jpg
inflating: __MACOSX/Food_101/nachos/._83227.jpg
inflating: Food_101/nachos/3911982.jpg
inflating: __MACOSX/Food_101/nachos/._3911982.jpg
inflating: Food_101/nachos/1880612.jpg
inflating: __MACOSX/Food_101/nachos/._1880612.jpg
inflating: Food_101/nachos/1943881.jpg
inflating: __MACOSX/Food_101/nachos/._1943881.jpg
inflating: Food_101/nachos/462516.jpg
inflating: __MACOSX/Food_101/nachos/._462516.jpg
inflating: Food_101/nachos/3638937.jpg
inflating: __MACOSX/Food_101/nachos/._3638937.jpg
inflating: Food_101/nachos/3672619.jpg
inflating: __MACOSX/Food_101/nachos/._3672619.jpg
inflating: Food_101/nachos/330962.jpg
inflating: __MACOSX/Food_101/nachos/._330962.jpg
inflating: Food_101/nachos/3249444.jpg
inflating: __MACOSX/Food_101/nachos/._3249444.jpg
inflating: Food_101/nachos/3304961.jpg
inflating: __MACOSX/Food_101/nachos/._3304961.jpg
inflating: Food_101/nachos/3564202.jpg
inflating: __MACOSX/Food_101/nachos/._3564202.jpg
inflating: Food_101/nachos/1824367.jpg
inflating: __MACOSX/Food_101/nachos/._1824367.jpg
inflating: Food_101/nachos/517599.jpg
inflating: __MACOSX/Food_101/nachos/._517599.jpg
inflating: Food_101/nachos/3832585.jpg
inflating: __MACOSX/Food_101/nachos/._3832585.jpg
inflating: Food_101/nachos/3685681.jpg
inflating: __MACOSX/Food_101/nachos/._3685681.jpg
inflating: Food_101/nachos/3762754.jpg
inflating: __MACOSX/Food_101/nachos/._3762754.jpg
inflating: Food_101/nachos/1916048.jpg
inflating: __MACOSX/Food_101/nachos/._1916048.jpg
inflating: Food_101/nachos/580395.jpg
inflating: __MACOSX/Food_101/nachos/._580395.jpg
inflating: Food_101/nachos/2267533.jpg
inflating: __MACOSX/Food_101/nachos/._2267533.jpg
inflating: Food_101/nachos/1983523.jpg
inflating: __MACOSX/Food_101/nachos/._1983523.jpg
inflating: Food_101/nachos/1436063.jpg
inflating: __MACOSX/Food_101/nachos/._1436063.jpg
inflating: Food_101/nachos/3886544.jpg
inflating: __MACOSX/Food_101/nachos/._3886544.jpg
inflating: Food_101/nachos/2359350.jpg
inflating: __MACOSX/Food_101/nachos/._2359350.jpg
inflating: Food_101/nachos/2036049.jpg
inflating: __MACOSX/Food_101/nachos/._2036049.jpg
inflating: Food_101/nachos/42294.jpg
inflating: __MACOSX/Food_101/nachos/._42294.jpg
inflating: Food_101/nachos/1167018.jpg
inflating: __MACOSX/Food_101/nachos/._1167018.jpg
inflating: Food_101/nachos/1938362.jpg
inflating: __MACOSX/Food_101/nachos/._1938362.jpg
inflating: Food_101/nachos/1011831.jpg
inflating: __MACOSX/Food_101/nachos/._1011831.jpg
inflating: Food_101/nachos/3898974.jpg
inflating: __MACOSX/Food_101/nachos/._3898974.jpg
inflating: Food_101/nachos/3293771.jpg
inflating: __MACOSX/Food_101/nachos/._3293771.jpg
inflating: Food_101/nachos/549619.jpg
inflating: __MACOSX/Food_101/nachos/._549619.jpg
inflating: Food_101/nachos/1885806.jpg
inflating: __MACOSX/Food_101/nachos/._1885806.jpg
inflating: Food_101/nachos/1137835.jpg
inflating: __MACOSX/Food_101/nachos/._1137835.jpg
inflating: Food_101/nachos/297114.jpg
inflating: __MACOSX/Food_101/nachos/._297114.jpg
inflating: Food_101/nachos/1464283.jpg
inflating: __MACOSX/Food_101/nachos/._1464283.jpg
inflating: Food_101/nachos/3639989.jpg
inflating: __MACOSX/Food_101/nachos/._3639989.jpg
inflating: Food_101/nachos/2712831.jpg
inflating: __MACOSX/Food_101/nachos/._2712831.jpg
inflating: Food_101/nachos/3195804.jpg
inflating: __MACOSX/Food_101/nachos/._3195804.jpg
inflating: Food_101/nachos/275807.jpg
inflating: __MACOSX/Food_101/nachos/._275807.jpg
inflating: Food_101/nachos/671128.jpg
inflating: __MACOSX/Food_101/nachos/._671128.jpg
inflating: Food_101/nachos/237361.jpg
inflating: __MACOSX/Food_101/nachos/._237361.jpg
inflating: Food_101/nachos/512386.jpg
inflating: __MACOSX/Food_101/nachos/._512386.jpg
inflating: Food_101/nachos/3190767.jpg
inflating: __MACOSX/Food_101/nachos/._3190767.jpg
inflating: Food_101/nachos/1270046.jpg
inflating: __MACOSX/Food_101/nachos/._1270046.jpg
inflating: Food_101/nachos/3056132.jpg
inflating: __MACOSX/Food_101/nachos/._3056132.jpg
inflating: Food_101/nachos/1951921.jpg
inflating: __MACOSX/Food_101/nachos/._1951921.jpg
inflating: Food_101/nachos/3317075.jpg
inflating: __MACOSX/Food_101/nachos/._3317075.jpg
inflating: Food_101/nachos/184926.jpg
inflating: __MACOSX/Food_101/nachos/._184926.jpg
inflating: Food_101/nachos/3875988.jpg
inflating: __MACOSX/Food_101/nachos/._3875988.jpg
inflating: Food_101/nachos/3854007.jpg
inflating: __MACOSX/Food_101/nachos/._3854007.jpg
inflating: Food_101/nachos/90700.jpg
inflating: __MACOSX/Food_101/nachos/._90700.jpg
inflating: Food_101/nachos/3745261.jpg
inflating: __MACOSX/Food_101/nachos/._3745261.jpg
inflating: Food_101/nachos/3917116.jpg
inflating: __MACOSX/Food_101/nachos/._3917116.jpg
inflating: Food_101/nachos/1422349.jpg
inflating: __MACOSX/Food_101/nachos/._1422349.jpg
inflating: Food_101/nachos/1996265.jpg
inflating: __MACOSX/Food_101/nachos/._1996265.jpg
inflating: Food_101/nachos/1750001.jpg
inflating: __MACOSX/Food_101/nachos/._1750001.jpg
inflating: Food_101/nachos/111242.jpg
inflating: __MACOSX/Food_101/nachos/._111242.jpg
inflating: Food_101/nachos/3546539.jpg
inflating: __MACOSX/Food_101/nachos/._3546539.jpg
inflating: Food_101/nachos/3082798.jpg
inflating: __MACOSX/Food_101/nachos/._3082798.jpg
inflating: Food_101/nachos/232806.jpg
inflating: __MACOSX/Food_101/nachos/._232806.jpg
inflating: Food_101/nachos/3303216.jpg
inflating: __MACOSX/Food_101/nachos/._3303216.jpg
inflating: Food_101/nachos/2662905.jpg
inflating: __MACOSX/Food_101/nachos/._2662905.jpg
inflating: Food_101/nachos/996751.jpg
inflating: __MACOSX/Food_101/nachos/._996751.jpg
inflating: Food_101/nachos/198664.jpg
inflating: __MACOSX/Food_101/nachos/._198664.jpg
inflating: Food_101/nachos/371718.jpg
inflating: __MACOSX/Food_101/nachos/._371718.jpg
inflating: Food_101/nachos/860941.jpg
inflating: __MACOSX/Food_101/nachos/._860941.jpg
inflating: Food_101/nachos/1042316.jpg
inflating: __MACOSX/Food_101/nachos/._1042316.jpg
inflating: Food_101/nachos/2018548.jpg
inflating: __MACOSX/Food_101/nachos/._2018548.jpg
inflating: Food_101/nachos/2704460.jpg
inflating: __MACOSX/Food_101/nachos/._2704460.jpg
inflating: Food_101/nachos/2392193.jpg
inflating: __MACOSX/Food_101/nachos/._2392193.jpg
inflating: Food_101/nachos/1860087.jpg
inflating: __MACOSX/Food_101/nachos/._1860087.jpg
inflating: Food_101/nachos/1817582.jpg
inflating: __MACOSX/Food_101/nachos/._1817582.jpg
inflating: Food_101/nachos/937158.jpg
inflating: __MACOSX/Food_101/nachos/._937158.jpg
inflating: Food_101/nachos/648154.jpg
inflating: __MACOSX/Food_101/nachos/._648154.jpg
inflating: Food_101/nachos/3129872.jpg
inflating: __MACOSX/Food_101/nachos/._3129872.jpg
inflating: Food_101/nachos/1319194.jpg
inflating: __MACOSX/Food_101/nachos/._1319194.jpg
inflating: Food_101/nachos/3885316.jpg
inflating: __MACOSX/Food_101/nachos/._3885316.jpg
inflating: Food_101/nachos/3885464.jpg
inflating: __MACOSX/Food_101/nachos/._3885464.jpg
inflating: Food_101/nachos/2746323.jpg
inflating: __MACOSX/Food_101/nachos/._2746323.jpg
inflating: Food_101/nachos/2734762.jpg
inflating: __MACOSX/Food_101/nachos/._2734762.jpg
inflating: Food_101/nachos/2671362.jpg
inflating: __MACOSX/Food_101/nachos/._2671362.jpg
inflating: Food_101/nachos/602698.jpg
inflating: __MACOSX/Food_101/nachos/._602698.jpg
inflating: Food_101/nachos/838135.jpg
inflating: __MACOSX/Food_101/nachos/._838135.jpg
inflating: Food_101/nachos/19915.jpg
inflating: __MACOSX/Food_101/nachos/._19915.jpg
inflating: Food_101/nachos/135521.jpg
inflating: __MACOSX/Food_101/nachos/._135521.jpg
inflating: Food_101/nachos/2029193.jpg
inflating: __MACOSX/Food_101/nachos/._2029193.jpg
inflating: Food_101/nachos/1262650.jpg
inflating: __MACOSX/Food_101/nachos/._1262650.jpg
inflating: Food_101/nachos/3863297.jpg
inflating: __MACOSX/Food_101/nachos/._3863297.jpg
inflating: Food_101/nachos/126763.jpg
inflating: __MACOSX/Food_101/nachos/._126763.jpg
inflating: Food_101/nachos/3729750.jpg
inflating: __MACOSX/Food_101/nachos/._3729750.jpg
inflating: Food_101/nachos/3516518.jpg
inflating: __MACOSX/Food_101/nachos/._3516518.jpg
inflating: Food_101/nachos/2591010.jpg
inflating: __MACOSX/Food_101/nachos/._2591010.jpg
inflating: Food_101/nachos/1343890.jpg
inflating: __MACOSX/Food_101/nachos/._1343890.jpg
inflating: Food_101/nachos/1558999.jpg
inflating: __MACOSX/Food_101/nachos/._1558999.jpg
inflating: Food_101/nachos/2288041.jpg
inflating: __MACOSX/Food_101/nachos/._2288041.jpg
inflating: Food_101/nachos/3140231.jpg
inflating: __MACOSX/Food_101/nachos/._3140231.jpg
inflating: Food_101/nachos/1093162.jpg
inflating: __MACOSX/Food_101/nachos/._1093162.jpg
inflating: Food_101/nachos/586509.jpg
inflating: __MACOSX/Food_101/nachos/._586509.jpg
inflating: Food_101/nachos/79004.jpg
inflating: __MACOSX/Food_101/nachos/._79004.jpg
inflating: Food_101/nachos/3654590.jpg
inflating: __MACOSX/Food_101/nachos/._3654590.jpg
inflating: Food_101/nachos/2894735.jpg
inflating: __MACOSX/Food_101/nachos/._2894735.jpg
inflating: Food_101/nachos/31083.jpg
inflating: __MACOSX/Food_101/nachos/._31083.jpg
inflating: Food_101/nachos/2945420.jpg
inflating: __MACOSX/Food_101/nachos/._2945420.jpg
inflating: Food_101/nachos/3725235.jpg
inflating: __MACOSX/Food_101/nachos/._3725235.jpg
inflating: Food_101/nachos/3761463.jpg
inflating: __MACOSX/Food_101/nachos/._3761463.jpg
inflating: Food_101/nachos/3831659.jpg
inflating: __MACOSX/Food_101/nachos/._3831659.jpg
inflating: Food_101/nachos/1510467.jpg
inflating: __MACOSX/Food_101/nachos/._1510467.jpg
inflating: Food_101/nachos/3275811.jpg
inflating: __MACOSX/Food_101/nachos/._3275811.jpg
inflating: Food_101/nachos/1546806.jpg
inflating: __MACOSX/Food_101/nachos/._1546806.jpg
inflating: Food_101/nachos/3193323.jpg
inflating: __MACOSX/Food_101/nachos/._3193323.jpg
inflating: Food_101/nachos/247536.jpg
inflating: __MACOSX/Food_101/nachos/._247536.jpg
inflating: Food_101/nachos/334533.jpg
inflating: __MACOSX/Food_101/nachos/._334533.jpg
inflating: Food_101/nachos/2753277.jpg
inflating: __MACOSX/Food_101/nachos/._2753277.jpg
inflating: Food_101/nachos/2208938.jpg
inflating: __MACOSX/Food_101/nachos/._2208938.jpg
inflating: Food_101/nachos/3581934.jpg
inflating: __MACOSX/Food_101/nachos/._3581934.jpg
inflating: Food_101/nachos/2846513.jpg
inflating: __MACOSX/Food_101/nachos/._2846513.jpg
inflating: Food_101/nachos/2333979.jpg
inflating: __MACOSX/Food_101/nachos/._2333979.jpg
inflating: Food_101/nachos/3251219.jpg
inflating: __MACOSX/Food_101/nachos/._3251219.jpg
inflating: Food_101/nachos/164427.jpg
inflating: __MACOSX/Food_101/nachos/._164427.jpg
inflating: Food_101/nachos/308790.jpg
inflating: __MACOSX/Food_101/nachos/._308790.jpg
inflating: Food_101/nachos/1833184.jpg
inflating: __MACOSX/Food_101/nachos/._1833184.jpg
inflating: Food_101/nachos/2241874.jpg
inflating: __MACOSX/Food_101/nachos/._2241874.jpg
inflating: Food_101/nachos/197034.jpg
inflating: __MACOSX/Food_101/nachos/._197034.jpg
inflating: Food_101/nachos/3094499.jpg
inflating: __MACOSX/Food_101/nachos/._3094499.jpg
inflating: Food_101/nachos/1331196.jpg
inflating: __MACOSX/Food_101/nachos/._1331196.jpg
inflating: Food_101/nachos/2045499.jpg
inflating: __MACOSX/Food_101/nachos/._2045499.jpg
inflating: Food_101/nachos/1812189.jpg
inflating: __MACOSX/Food_101/nachos/._1812189.jpg
inflating: Food_101/nachos/636476.jpg
inflating: __MACOSX/Food_101/nachos/._636476.jpg
inflating: Food_101/nachos/1834172.jpg
inflating: __MACOSX/Food_101/nachos/._1834172.jpg
inflating: Food_101/nachos/2705345.jpg
inflating: __MACOSX/Food_101/nachos/._2705345.jpg
inflating: Food_101/nachos/676873.jpg
inflating: __MACOSX/Food_101/nachos/._676873.jpg
inflating: Food_101/nachos/1206882.jpg
inflating: __MACOSX/Food_101/nachos/._1206882.jpg
inflating: Food_101/nachos/2498553.jpg
inflating: __MACOSX/Food_101/nachos/._2498553.jpg
inflating: Food_101/nachos/3243231.jpg
inflating: __MACOSX/Food_101/nachos/._3243231.jpg
inflating: Food_101/nachos/2816091.jpg
inflating: __MACOSX/Food_101/nachos/._2816091.jpg
inflating: Food_101/nachos/313978.jpg
inflating: __MACOSX/Food_101/nachos/._313978.jpg
inflating: Food_101/nachos/814609.jpg
inflating: __MACOSX/Food_101/nachos/._814609.jpg
inflating: Food_101/nachos/1274794.jpg
inflating: __MACOSX/Food_101/nachos/._1274794.jpg
inflating: Food_101/nachos/3187792.jpg
inflating: __MACOSX/Food_101/nachos/._3187792.jpg
inflating: Food_101/nachos/2267291.jpg
inflating: __MACOSX/Food_101/nachos/._2267291.jpg
inflating: Food_101/nachos/3494294.jpg
inflating: __MACOSX/Food_101/nachos/._3494294.jpg
inflating: Food_101/nachos/2616112.jpg
inflating: __MACOSX/Food_101/nachos/._2616112.jpg
inflating: Food_101/nachos/1099464.jpg
inflating: __MACOSX/Food_101/nachos/._1099464.jpg
inflating: Food_101/nachos/2769275.jpg
inflating: __MACOSX/Food_101/nachos/._2769275.jpg
inflating: Food_101/nachos/2111195.jpg
inflating: __MACOSX/Food_101/nachos/._2111195.jpg
inflating: Food_101/nachos/3602931.jpg
inflating: __MACOSX/Food_101/nachos/._3602931.jpg
inflating: Food_101/nachos/571814.jpg
inflating: __MACOSX/Food_101/nachos/._571814.jpg
inflating: Food_101/nachos/842843.jpg
inflating: __MACOSX/Food_101/nachos/._842843.jpg
inflating: Food_101/nachos/3025131.jpg
inflating: __MACOSX/Food_101/nachos/._3025131.jpg
inflating: Food_101/nachos/2465420.jpg
inflating: __MACOSX/Food_101/nachos/._2465420.jpg
inflating: Food_101/nachos/1986110.jpg
inflating: __MACOSX/Food_101/nachos/._1986110.jpg
inflating: Food_101/nachos/1009513.jpg
inflating: __MACOSX/Food_101/nachos/._1009513.jpg
inflating: Food_101/nachos/2094612.jpg
inflating: __MACOSX/Food_101/nachos/._2094612.jpg
inflating: Food_101/nachos/2414597.jpg
inflating: __MACOSX/Food_101/nachos/._2414597.jpg
inflating: Food_101/nachos/640318.jpg
inflating: __MACOSX/Food_101/nachos/._640318.jpg
inflating: Food_101/nachos/3479308.jpg
inflating: __MACOSX/Food_101/nachos/._3479308.jpg
inflating: Food_101/nachos/547222.jpg
inflating: __MACOSX/Food_101/nachos/._547222.jpg
inflating: Food_101/nachos/1074329.jpg
inflating: __MACOSX/Food_101/nachos/._1074329.jpg
inflating: Food_101/nachos/99087.jpg
inflating: __MACOSX/Food_101/nachos/._99087.jpg
inflating: Food_101/nachos/1144598.jpg
inflating: __MACOSX/Food_101/nachos/._1144598.jpg
inflating: Food_101/nachos/2621423.jpg
inflating: __MACOSX/Food_101/nachos/._2621423.jpg
inflating: Food_101/nachos/260405.jpg
inflating: __MACOSX/Food_101/nachos/._260405.jpg
inflating: Food_101/nachos/99050.jpg
inflating: __MACOSX/Food_101/nachos/._99050.jpg
inflating: Food_101/nachos/2735495.jpg
inflating: __MACOSX/Food_101/nachos/._2735495.jpg
inflating: Food_101/nachos/2228627.jpg
inflating: __MACOSX/Food_101/nachos/._2228627.jpg
inflating: Food_101/nachos/2309414.jpg
inflating: __MACOSX/Food_101/nachos/._2309414.jpg
inflating: Food_101/nachos/1147287.jpg
inflating: __MACOSX/Food_101/nachos/._1147287.jpg
inflating: Food_101/nachos/3274926.jpg
inflating: __MACOSX/Food_101/nachos/._3274926.jpg
inflating: Food_101/nachos/1075209.jpg
inflating: __MACOSX/Food_101/nachos/._1075209.jpg
inflating: Food_101/nachos/946774.jpg
inflating: __MACOSX/Food_101/nachos/._946774.jpg
inflating: Food_101/nachos/1825283.jpg
inflating: __MACOSX/Food_101/nachos/._1825283.jpg
inflating: Food_101/nachos/2734589.jpg
inflating: __MACOSX/Food_101/nachos/._2734589.jpg
inflating: Food_101/french_fries/1020588.jpg
inflating: __MACOSX/Food_101/french_fries/._1020588.jpg
inflating: Food_101/french_fries/230015.jpg
inflating: __MACOSX/Food_101/french_fries/._230015.jpg
inflating: Food_101/french_fries/2338175.jpg
inflating: __MACOSX/Food_101/french_fries/._2338175.jpg
inflating: Food_101/french_fries/3223668.jpg
inflating: __MACOSX/Food_101/french_fries/._3223668.jpg
inflating: Food_101/french_fries/256347.jpg
inflating: __MACOSX/Food_101/french_fries/._256347.jpg
inflating: Food_101/french_fries/296611.jpg
inflating: __MACOSX/Food_101/french_fries/._296611.jpg
inflating: Food_101/french_fries/3907871.jpg
inflating: __MACOSX/Food_101/french_fries/._3907871.jpg
inflating: Food_101/french_fries/3322990.jpg
inflating: __MACOSX/Food_101/french_fries/._3322990.jpg
inflating: Food_101/french_fries/192632.jpg
inflating: __MACOSX/Food_101/french_fries/._192632.jpg
inflating: Food_101/french_fries/2382614.jpg
inflating: __MACOSX/Food_101/french_fries/._2382614.jpg
inflating: Food_101/french_fries/1290768.jpg
inflating: __MACOSX/Food_101/french_fries/._1290768.jpg
inflating: Food_101/french_fries/3289454.jpg
inflating: __MACOSX/Food_101/french_fries/._3289454.jpg
inflating: Food_101/french_fries/3711767.jpg
inflating: __MACOSX/Food_101/french_fries/._3711767.jpg
inflating: Food_101/french_fries/82535.jpg
inflating: __MACOSX/Food_101/french_fries/._82535.jpg
inflating: Food_101/french_fries/1936184.jpg
inflating: __MACOSX/Food_101/french_fries/._1936184.jpg
inflating: Food_101/french_fries/3022848.jpg
inflating: __MACOSX/Food_101/french_fries/._3022848.jpg
inflating: Food_101/french_fries/3784230.jpg
inflating: __MACOSX/Food_101/french_fries/._3784230.jpg
inflating: Food_101/french_fries/3678935.jpg
inflating: __MACOSX/Food_101/french_fries/._3678935.jpg
inflating: Food_101/french_fries/2278633.jpg
inflating: __MACOSX/Food_101/french_fries/._2278633.jpg
inflating: Food_101/french_fries/3288825.jpg
inflating: __MACOSX/Food_101/french_fries/._3288825.jpg
inflating: Food_101/french_fries/2907806.jpg
inflating: __MACOSX/Food_101/french_fries/._2907806.jpg
inflating: Food_101/french_fries/2617942.jpg
inflating: __MACOSX/Food_101/french_fries/._2617942.jpg
inflating: Food_101/french_fries/489152.jpg
inflating: __MACOSX/Food_101/french_fries/._489152.jpg
inflating: Food_101/french_fries/3319655.jpg
inflating: __MACOSX/Food_101/french_fries/._3319655.jpg
inflating: Food_101/french_fries/1221000.jpg
inflating: __MACOSX/Food_101/french_fries/._1221000.jpg
inflating: Food_101/french_fries/2239479.jpg
inflating: __MACOSX/Food_101/french_fries/._2239479.jpg
inflating: Food_101/french_fries/2680169.jpg
inflating: __MACOSX/Food_101/french_fries/._2680169.jpg
inflating: Food_101/french_fries/2249607.jpg
inflating: __MACOSX/Food_101/french_fries/._2249607.jpg
inflating: Food_101/french_fries/2776614.jpg
inflating: __MACOSX/Food_101/french_fries/._2776614.jpg
inflating: Food_101/french_fries/494329.jpg
inflating: __MACOSX/Food_101/french_fries/._494329.jpg
inflating: Food_101/french_fries/2278380.jpg
inflating: __MACOSX/Food_101/french_fries/._2278380.jpg
inflating: Food_101/french_fries/3622622.jpg
inflating: __MACOSX/Food_101/french_fries/._3622622.jpg
inflating: Food_101/french_fries/487354.jpg
inflating: __MACOSX/Food_101/french_fries/._487354.jpg
inflating: Food_101/french_fries/65608.jpg
inflating: __MACOSX/Food_101/french_fries/._65608.jpg
inflating: Food_101/french_fries/2056007.jpg
inflating: __MACOSX/Food_101/french_fries/._2056007.jpg
inflating: Food_101/french_fries/2849981.jpg
inflating: __MACOSX/Food_101/french_fries/._2849981.jpg
inflating: Food_101/french_fries/2146228.jpg
inflating: __MACOSX/Food_101/french_fries/._2146228.jpg
inflating: Food_101/french_fries/657873.jpg
inflating: __MACOSX/Food_101/french_fries/._657873.jpg
inflating: Food_101/french_fries/1709793.jpg
inflating: __MACOSX/Food_101/french_fries/._1709793.jpg
inflating: Food_101/french_fries/2615826.jpg
inflating: __MACOSX/Food_101/french_fries/._2615826.jpg
inflating: Food_101/french_fries/1697346.jpg
inflating: __MACOSX/Food_101/french_fries/._1697346.jpg
inflating: Food_101/french_fries/1958884.jpg
inflating: __MACOSX/Food_101/french_fries/._1958884.jpg
inflating: Food_101/french_fries/1767923.jpg
inflating: __MACOSX/Food_101/french_fries/._1767923.jpg
inflating: Food_101/french_fries/765816.jpg
inflating: __MACOSX/Food_101/french_fries/._765816.jpg
inflating: Food_101/french_fries/2627843.jpg
inflating: __MACOSX/Food_101/french_fries/._2627843.jpg
inflating: Food_101/french_fries/3708237.jpg
inflating: __MACOSX/Food_101/french_fries/._3708237.jpg
inflating: Food_101/french_fries/909325.jpg
inflating: __MACOSX/Food_101/french_fries/._909325.jpg
inflating: Food_101/french_fries/1577236.jpg
inflating: __MACOSX/Food_101/french_fries/._1577236.jpg
inflating: Food_101/french_fries/2901457.jpg
inflating: __MACOSX/Food_101/french_fries/._2901457.jpg
inflating: Food_101/french_fries/3423618.jpg
inflating: __MACOSX/Food_101/french_fries/._3423618.jpg
inflating: Food_101/french_fries/2536896.jpg
inflating: __MACOSX/Food_101/french_fries/._2536896.jpg
inflating: Food_101/french_fries/3099167.jpg
inflating: __MACOSX/Food_101/french_fries/._3099167.jpg
inflating: Food_101/french_fries/3303220.jpg
inflating: __MACOSX/Food_101/french_fries/._3303220.jpg
inflating: Food_101/french_fries/3754158.jpg
inflating: __MACOSX/Food_101/french_fries/._3754158.jpg
inflating: Food_101/french_fries/51368.jpg
inflating: __MACOSX/Food_101/french_fries/._51368.jpg
inflating: Food_101/french_fries/3677959.jpg
inflating: __MACOSX/Food_101/french_fries/._3677959.jpg
inflating: Food_101/french_fries/2040049.jpg
inflating: __MACOSX/Food_101/french_fries/._2040049.jpg
inflating: Food_101/french_fries/1642141.jpg
inflating: __MACOSX/Food_101/french_fries/._1642141.jpg
inflating: Food_101/french_fries/1327248.jpg
inflating: __MACOSX/Food_101/french_fries/._1327248.jpg
inflating: Food_101/french_fries/3393816.jpg
inflating: __MACOSX/Food_101/french_fries/._3393816.jpg
inflating: Food_101/french_fries/854381.jpg
inflating: __MACOSX/Food_101/french_fries/._854381.jpg
inflating: Food_101/french_fries/2550720.jpg
inflating: __MACOSX/Food_101/french_fries/._2550720.jpg
inflating: Food_101/french_fries/1850835.jpg
inflating: __MACOSX/Food_101/french_fries/._1850835.jpg
inflating: Food_101/french_fries/3081058.jpg
inflating: __MACOSX/Food_101/french_fries/._3081058.jpg
inflating: Food_101/french_fries/1682173.jpg
inflating: __MACOSX/Food_101/french_fries/._1682173.jpg
inflating: Food_101/french_fries/525330.jpg
inflating: __MACOSX/Food_101/french_fries/._525330.jpg
inflating: Food_101/french_fries/3152566.jpg
inflating: __MACOSX/Food_101/french_fries/._3152566.jpg
inflating: Food_101/french_fries/914564.jpg
inflating: __MACOSX/Food_101/french_fries/._914564.jpg
inflating: Food_101/french_fries/2763839.jpg
inflating: __MACOSX/Food_101/french_fries/._2763839.jpg
inflating: Food_101/french_fries/1009455.jpg
inflating: __MACOSX/Food_101/french_fries/._1009455.jpg
inflating: Food_101/french_fries/3236925.jpg
inflating: __MACOSX/Food_101/french_fries/._3236925.jpg
inflating: Food_101/french_fries/1035421.jpg
inflating: __MACOSX/Food_101/french_fries/._1035421.jpg
inflating: Food_101/french_fries/1615596.jpg
inflating: __MACOSX/Food_101/french_fries/._1615596.jpg
inflating: Food_101/french_fries/3897130.jpg
inflating: __MACOSX/Food_101/french_fries/._3897130.jpg
inflating: Food_101/french_fries/3426819.jpg
inflating: __MACOSX/Food_101/french_fries/._3426819.jpg
inflating: Food_101/french_fries/3253011.jpg
inflating: __MACOSX/Food_101/french_fries/._3253011.jpg
inflating: Food_101/french_fries/2029410.jpg
inflating: __MACOSX/Food_101/french_fries/._2029410.jpg
inflating: Food_101/french_fries/614545.jpg
inflating: __MACOSX/Food_101/french_fries/._614545.jpg
inflating: Food_101/french_fries/3483916.jpg
inflating: __MACOSX/Food_101/french_fries/._3483916.jpg
inflating: Food_101/french_fries/612646.jpg
inflating: __MACOSX/Food_101/french_fries/._612646.jpg
inflating: Food_101/french_fries/2945149.jpg
inflating: __MACOSX/Food_101/french_fries/._2945149.jpg
inflating: Food_101/french_fries/143685.jpg
inflating: __MACOSX/Food_101/french_fries/._143685.jpg
inflating: Food_101/french_fries/3194910.jpg
inflating: __MACOSX/Food_101/french_fries/._3194910.jpg
inflating: Food_101/french_fries/2773035.jpg
inflating: __MACOSX/Food_101/french_fries/._2773035.jpg
inflating: Food_101/french_fries/2414771.jpg
inflating: __MACOSX/Food_101/french_fries/._2414771.jpg
inflating: Food_101/french_fries/3826077.jpg
inflating: __MACOSX/Food_101/french_fries/._3826077.jpg
inflating: Food_101/french_fries/1776346.jpg
inflating: __MACOSX/Food_101/french_fries/._1776346.jpg
inflating: Food_101/french_fries/2370084.jpg
inflating: __MACOSX/Food_101/french_fries/._2370084.jpg
inflating: Food_101/french_fries/3048661.jpg
inflating: __MACOSX/Food_101/french_fries/._3048661.jpg
inflating: Food_101/french_fries/578368.jpg
inflating: __MACOSX/Food_101/french_fries/._578368.jpg
inflating: Food_101/french_fries/338259.jpg
inflating: __MACOSX/Food_101/french_fries/._338259.jpg
inflating: Food_101/french_fries/2833974.jpg
inflating: __MACOSX/Food_101/french_fries/._2833974.jpg
inflating: Food_101/french_fries/1341912.jpg
inflating: __MACOSX/Food_101/french_fries/._1341912.jpg
inflating: Food_101/french_fries/3832957.jpg
inflating: __MACOSX/Food_101/french_fries/._3832957.jpg
inflating: Food_101/french_fries/1653893.jpg
inflating: __MACOSX/Food_101/french_fries/._1653893.jpg
inflating: Food_101/french_fries/1929717.jpg
inflating: __MACOSX/Food_101/french_fries/._1929717.jpg
inflating: Food_101/french_fries/3621856.jpg
inflating: __MACOSX/Food_101/french_fries/._3621856.jpg
inflating: Food_101/french_fries/349846.jpg
inflating: __MACOSX/Food_101/french_fries/._349846.jpg
inflating: Food_101/french_fries/705893.jpg
inflating: __MACOSX/Food_101/french_fries/._705893.jpg
inflating: Food_101/french_fries/166821.jpg
inflating: __MACOSX/Food_101/french_fries/._166821.jpg
inflating: Food_101/french_fries/2227296.jpg
inflating: __MACOSX/Food_101/french_fries/._2227296.jpg
inflating: Food_101/french_fries/1243254.jpg
inflating: __MACOSX/Food_101/french_fries/._1243254.jpg
inflating: Food_101/french_fries/3560911.jpg
inflating: __MACOSX/Food_101/french_fries/._3560911.jpg
inflating: Food_101/french_fries/1008945.jpg
inflating: __MACOSX/Food_101/french_fries/._1008945.jpg
inflating: Food_101/french_fries/2913911.jpg
inflating: __MACOSX/Food_101/french_fries/._2913911.jpg
inflating: Food_101/french_fries/2586818.jpg
inflating: __MACOSX/Food_101/french_fries/._2586818.jpg
inflating: Food_101/french_fries/669183.jpg
inflating: __MACOSX/Food_101/french_fries/._669183.jpg
inflating: Food_101/french_fries/50277.jpg
inflating: __MACOSX/Food_101/french_fries/._50277.jpg
inflating: Food_101/french_fries/2878424.jpg
inflating: __MACOSX/Food_101/french_fries/._2878424.jpg
inflating: Food_101/french_fries/3359887.jpg
inflating: __MACOSX/Food_101/french_fries/._3359887.jpg
inflating: Food_101/french_fries/1081387.jpg
inflating: __MACOSX/Food_101/french_fries/._1081387.jpg
inflating: Food_101/french_fries/1708934.jpg
inflating: __MACOSX/Food_101/french_fries/._1708934.jpg
inflating: Food_101/french_fries/913020.jpg
inflating: __MACOSX/Food_101/french_fries/._913020.jpg
inflating: Food_101/french_fries/211973.jpg
inflating: __MACOSX/Food_101/french_fries/._211973.jpg
inflating: Food_101/french_fries/2507866.jpg
inflating: __MACOSX/Food_101/french_fries/._2507866.jpg
inflating: Food_101/french_fries/3759335.jpg
inflating: __MACOSX/Food_101/french_fries/._3759335.jpg
inflating: Food_101/french_fries/1973780.jpg
inflating: __MACOSX/Food_101/french_fries/._1973780.jpg
inflating: Food_101/french_fries/819521.jpg
inflating: __MACOSX/Food_101/french_fries/._819521.jpg
inflating: Food_101/french_fries/3663095.jpg
inflating: __MACOSX/Food_101/french_fries/._3663095.jpg
inflating: Food_101/french_fries/1269687.jpg
inflating: __MACOSX/Food_101/french_fries/._1269687.jpg
inflating: Food_101/french_fries/309651.jpg
inflating: __MACOSX/Food_101/french_fries/._309651.jpg
inflating: Food_101/french_fries/3254182.jpg
inflating: __MACOSX/Food_101/french_fries/._3254182.jpg
inflating: Food_101/french_fries/2708723.jpg
inflating: __MACOSX/Food_101/french_fries/._2708723.jpg
inflating: Food_101/french_fries/467106.jpg
inflating: __MACOSX/Food_101/french_fries/._467106.jpg
inflating: Food_101/french_fries/3620351.jpg
inflating: __MACOSX/Food_101/french_fries/._3620351.jpg
inflating: Food_101/french_fries/416728.jpg
inflating: __MACOSX/Food_101/french_fries/._416728.jpg
inflating: Food_101/french_fries/1384733.jpg
inflating: __MACOSX/Food_101/french_fries/._1384733.jpg
inflating: Food_101/french_fries/3724080.jpg
inflating: __MACOSX/Food_101/french_fries/._3724080.jpg
inflating: Food_101/french_fries/52510.jpg
inflating: __MACOSX/Food_101/french_fries/._52510.jpg
inflating: Food_101/french_fries/2652203.jpg
inflating: __MACOSX/Food_101/french_fries/._2652203.jpg
inflating: Food_101/french_fries/370033.jpg
inflating: __MACOSX/Food_101/french_fries/._370033.jpg
inflating: Food_101/french_fries/423630.jpg
inflating: __MACOSX/Food_101/french_fries/._423630.jpg
inflating: Food_101/french_fries/1257345.jpg
inflating: __MACOSX/Food_101/french_fries/._1257345.jpg
inflating: Food_101/french_fries/24479.jpg
inflating: __MACOSX/Food_101/french_fries/._24479.jpg
inflating: Food_101/french_fries/3806837.jpg
inflating: __MACOSX/Food_101/french_fries/._3806837.jpg
inflating: Food_101/french_fries/3764329.jpg
inflating: __MACOSX/Food_101/french_fries/._3764329.jpg
inflating: Food_101/french_fries/1319764.jpg
inflating: __MACOSX/Food_101/french_fries/._1319764.jpg
inflating: Food_101/french_fries/3567317.jpg
inflating: __MACOSX/Food_101/french_fries/._3567317.jpg
inflating: Food_101/french_fries/799658.jpg
inflating: __MACOSX/Food_101/french_fries/._799658.jpg
inflating: Food_101/french_fries/2984923.jpg
inflating: __MACOSX/Food_101/french_fries/._2984923.jpg
inflating: Food_101/french_fries/2596038.jpg
inflating: __MACOSX/Food_101/french_fries/._2596038.jpg
inflating: Food_101/french_fries/3499988.jpg
inflating: __MACOSX/Food_101/french_fries/._3499988.jpg
inflating: Food_101/french_fries/649848.jpg
inflating: __MACOSX/Food_101/french_fries/._649848.jpg
inflating: Food_101/french_fries/1959790.jpg
inflating: __MACOSX/Food_101/french_fries/._1959790.jpg
inflating: Food_101/french_fries/2208648.jpg
inflating: __MACOSX/Food_101/french_fries/._2208648.jpg
inflating: Food_101/french_fries/2502894.jpg
inflating: __MACOSX/Food_101/french_fries/._2502894.jpg
inflating: Food_101/french_fries/872550.jpg
inflating: __MACOSX/Food_101/french_fries/._872550.jpg
inflating: Food_101/french_fries/3271075.jpg
inflating: __MACOSX/Food_101/french_fries/._3271075.jpg
inflating: Food_101/french_fries/1528250.jpg
inflating: __MACOSX/Food_101/french_fries/._1528250.jpg
inflating: Food_101/french_fries/1521274.jpg
inflating: __MACOSX/Food_101/french_fries/._1521274.jpg
inflating: Food_101/french_fries/2521724.jpg
inflating: __MACOSX/Food_101/french_fries/._2521724.jpg
inflating: Food_101/french_fries/1531073.jpg
inflating: __MACOSX/Food_101/french_fries/._1531073.jpg
inflating: Food_101/french_fries/1810352.jpg
inflating: __MACOSX/Food_101/french_fries/._1810352.jpg
inflating: Food_101/french_fries/43636.jpg
inflating: __MACOSX/Food_101/french_fries/._43636.jpg
inflating: Food_101/french_fries/302329.jpg
inflating: __MACOSX/Food_101/french_fries/._302329.jpg
inflating: Food_101/french_fries/925636.jpg
inflating: __MACOSX/Food_101/french_fries/._925636.jpg
inflating: Food_101/french_fries/1625531.jpg
inflating: __MACOSX/Food_101/french_fries/._1625531.jpg
inflating: Food_101/french_fries/459162.jpg
inflating: __MACOSX/Food_101/french_fries/._459162.jpg
inflating: Food_101/french_fries/2394139.jpg
inflating: __MACOSX/Food_101/french_fries/._2394139.jpg
inflating: Food_101/french_fries/2074075.jpg
inflating: __MACOSX/Food_101/french_fries/._2074075.jpg
inflating: Food_101/french_fries/3051679.jpg
inflating: __MACOSX/Food_101/french_fries/._3051679.jpg
inflating: Food_101/french_fries/2213917.jpg
inflating: __MACOSX/Food_101/french_fries/._2213917.jpg
inflating: Food_101/french_fries/3724081.jpg
inflating: __MACOSX/Food_101/french_fries/._3724081.jpg
inflating: Food_101/french_fries/3818349.jpg
inflating: __MACOSX/Food_101/french_fries/._3818349.jpg
inflating: Food_101/french_fries/3297902.jpg
inflating: __MACOSX/Food_101/french_fries/._3297902.jpg
inflating: Food_101/french_fries/1101970.jpg
inflating: __MACOSX/Food_101/french_fries/._1101970.jpg
inflating: Food_101/french_fries/1198412.jpg
inflating: __MACOSX/Food_101/french_fries/._1198412.jpg
inflating: Food_101/french_fries/109401.jpg
inflating: __MACOSX/Food_101/french_fries/._109401.jpg
inflating: Food_101/french_fries/2348318.jpg
inflating: __MACOSX/Food_101/french_fries/._2348318.jpg
inflating: Food_101/french_fries/311779.jpg
inflating: __MACOSX/Food_101/french_fries/._311779.jpg
inflating: Food_101/french_fries/1681867.jpg
inflating: __MACOSX/Food_101/french_fries/._1681867.jpg
inflating: Food_101/french_fries/2569827.jpg
inflating: __MACOSX/Food_101/french_fries/._2569827.jpg
inflating: Food_101/french_fries/1875469.jpg
inflating: __MACOSX/Food_101/french_fries/._1875469.jpg
inflating: Food_101/french_fries/110385.jpg
inflating: __MACOSX/Food_101/french_fries/._110385.jpg
inflating: Food_101/french_fries/2677445.jpg
inflating: __MACOSX/Food_101/french_fries/._2677445.jpg
inflating: Food_101/french_fries/1958538.jpg
inflating: __MACOSX/Food_101/french_fries/._1958538.jpg
inflating: Food_101/french_fries/889641.jpg
inflating: __MACOSX/Food_101/french_fries/._889641.jpg
inflating: Food_101/french_fries/3377570.jpg
inflating: __MACOSX/Food_101/french_fries/._3377570.jpg
inflating: Food_101/french_fries/530277.jpg
inflating: __MACOSX/Food_101/french_fries/._530277.jpg
inflating: Food_101/french_fries/3195201.jpg
inflating: __MACOSX/Food_101/french_fries/._3195201.jpg
inflating: Food_101/french_fries/2001007.jpg
inflating: __MACOSX/Food_101/french_fries/._2001007.jpg
inflating: Food_101/french_fries/1564138.jpg
inflating: __MACOSX/Food_101/french_fries/._1564138.jpg
inflating: Food_101/french_fries/2147046.jpg
inflating: __MACOSX/Food_101/french_fries/._2147046.jpg
inflating: Food_101/french_fries/1703696.jpg
inflating: __MACOSX/Food_101/french_fries/._1703696.jpg
inflating: Food_101/french_fries/3596528.jpg
inflating: __MACOSX/Food_101/french_fries/._3596528.jpg
inflating: Food_101/french_fries/3762377.jpg
inflating: __MACOSX/Food_101/french_fries/._3762377.jpg
inflating: Food_101/french_fries/2628143.jpg
inflating: __MACOSX/Food_101/french_fries/._2628143.jpg
inflating: Food_101/french_fries/3437480.jpg
inflating: __MACOSX/Food_101/french_fries/._3437480.jpg
inflating: Food_101/french_fries/1697975.jpg
inflating: __MACOSX/Food_101/french_fries/._1697975.jpg
inflating: Food_101/french_fries/3194309.jpg
inflating: __MACOSX/Food_101/french_fries/._3194309.jpg
inflating: Food_101/french_fries/1062594.jpg
inflating: __MACOSX/Food_101/french_fries/._1062594.jpg
inflating: Food_101/french_fries/2761796.jpg
inflating: __MACOSX/Food_101/french_fries/._2761796.jpg
inflating: Food_101/french_fries/3002343.jpg
inflating: __MACOSX/Food_101/french_fries/._3002343.jpg
inflating: Food_101/french_fries/234706.jpg
inflating: __MACOSX/Food_101/french_fries/._234706.jpg
inflating: Food_101/french_fries/3291587.jpg
inflating: __MACOSX/Food_101/french_fries/._3291587.jpg
inflating: Food_101/french_fries/348356.jpg
inflating: __MACOSX/Food_101/french_fries/._348356.jpg
inflating: Food_101/french_fries/2309622.jpg
inflating: __MACOSX/Food_101/french_fries/._2309622.jpg
inflating: Food_101/french_fries/3401318.jpg
inflating: __MACOSX/Food_101/french_fries/._3401318.jpg
inflating: Food_101/french_fries/2214673.jpg
inflating: __MACOSX/Food_101/french_fries/._2214673.jpg
inflating: Food_101/french_fries/753350.jpg
inflating: __MACOSX/Food_101/french_fries/._753350.jpg
inflating: Food_101/french_fries/2814658.jpg
inflating: __MACOSX/Food_101/french_fries/._2814658.jpg
inflating: Food_101/french_fries/1845621.jpg
inflating: __MACOSX/Food_101/french_fries/._1845621.jpg
inflating: Food_101/french_fries/1364015.jpg
inflating: __MACOSX/Food_101/french_fries/._1364015.jpg
inflating: Food_101/french_fries/3049746.jpg
inflating: __MACOSX/Food_101/french_fries/._3049746.jpg
inflating: Food_101/french_fries/1008163.jpg
inflating: __MACOSX/Food_101/french_fries/._1008163.jpg
inflating: Food_101/french_fries/353170.jpg
inflating: __MACOSX/Food_101/french_fries/._353170.jpg
inflating: Food_101/french_fries/1447440.jpg
inflating: __MACOSX/Food_101/french_fries/._1447440.jpg
inflating: Food_101/french_fries/1251079.jpg
inflating: __MACOSX/Food_101/french_fries/._1251079.jpg
inflating: Food_101/french_fries/340656.jpg
inflating: __MACOSX/Food_101/french_fries/._340656.jpg
inflating: Food_101/french_fries/1987038.jpg
inflating: __MACOSX/Food_101/french_fries/._1987038.jpg
inflating: Food_101/french_fries/3427095.jpg
inflating: __MACOSX/Food_101/french_fries/._3427095.jpg
inflating: Food_101/french_fries/3345305.jpg
inflating: __MACOSX/Food_101/french_fries/._3345305.jpg
inflating: Food_101/french_fries/2515440.jpg
inflating: __MACOSX/Food_101/french_fries/._2515440.jpg
inflating: Food_101/french_fries/3269823.jpg
inflating: __MACOSX/Food_101/french_fries/._3269823.jpg
inflating: Food_101/french_fries/3625607.jpg
inflating: __MACOSX/Food_101/french_fries/._3625607.jpg
inflating: Food_101/french_fries/80865.jpg
inflating: __MACOSX/Food_101/french_fries/._80865.jpg
inflating: Food_101/french_fries/1191743.jpg
inflating: __MACOSX/Food_101/french_fries/._1191743.jpg
inflating: Food_101/french_fries/3062501.jpg
inflating: __MACOSX/Food_101/french_fries/._3062501.jpg
inflating: Food_101/french_fries/2838364.jpg
inflating: __MACOSX/Food_101/french_fries/._2838364.jpg
inflating: Food_101/french_fries/1778153.jpg
inflating: __MACOSX/Food_101/french_fries/._1778153.jpg
inflating: Food_101/french_fries/114269.jpg
inflating: __MACOSX/Food_101/french_fries/._114269.jpg
inflating: Food_101/french_fries/3375984.jpg
inflating: __MACOSX/Food_101/french_fries/._3375984.jpg
inflating: Food_101/french_fries/1888134.jpg
inflating: __MACOSX/Food_101/french_fries/._1888134.jpg
inflating: Food_101/french_fries/883838.jpg
inflating: __MACOSX/Food_101/french_fries/._883838.jpg
inflating: Food_101/french_fries/1074446.jpg
inflating: __MACOSX/Food_101/french_fries/._1074446.jpg
inflating: Food_101/french_fries/1026314.jpg
inflating: __MACOSX/Food_101/french_fries/._1026314.jpg
inflating: Food_101/french_fries/2454970.jpg
inflating: __MACOSX/Food_101/french_fries/._2454970.jpg
inflating: Food_101/french_fries/1816442.jpg
inflating: __MACOSX/Food_101/french_fries/._1816442.jpg
inflating: Food_101/french_fries/1523716.jpg
inflating: __MACOSX/Food_101/french_fries/._1523716.jpg
inflating: Food_101/french_fries/3221251.jpg
inflating: __MACOSX/Food_101/french_fries/._3221251.jpg
inflating: Food_101/french_fries/370151.jpg
inflating: __MACOSX/Food_101/french_fries/._370151.jpg
inflating: Food_101/french_fries/1855221.jpg
inflating: __MACOSX/Food_101/french_fries/._1855221.jpg
inflating: Food_101/french_fries/338101.jpg
inflating: __MACOSX/Food_101/french_fries/._338101.jpg
inflating: Food_101/french_fries/575528.jpg
inflating: __MACOSX/Food_101/french_fries/._575528.jpg
inflating: Food_101/french_fries/2624022.jpg
inflating: __MACOSX/Food_101/french_fries/._2624022.jpg
inflating: Food_101/french_fries/2493036.jpg
inflating: __MACOSX/Food_101/french_fries/._2493036.jpg
inflating: Food_101/french_fries/1238390.jpg
inflating: __MACOSX/Food_101/french_fries/._1238390.jpg
inflating: Food_101/french_fries/2219197.jpg
inflating: __MACOSX/Food_101/french_fries/._2219197.jpg
inflating: Food_101/french_fries/478232.jpg
inflating: __MACOSX/Food_101/french_fries/._478232.jpg
inflating: Food_101/french_fries/549936.jpg
inflating: __MACOSX/Food_101/french_fries/._549936.jpg
inflating: Food_101/french_fries/1469308.jpg
inflating: __MACOSX/Food_101/french_fries/._1469308.jpg
inflating: Food_101/french_fries/2249089.jpg
inflating: __MACOSX/Food_101/french_fries/._2249089.jpg
inflating: Food_101/french_fries/622646.jpg
inflating: __MACOSX/Food_101/french_fries/._622646.jpg
inflating: Food_101/french_fries/631606.jpg
inflating: __MACOSX/Food_101/french_fries/._631606.jpg
inflating: Food_101/french_fries/3843922.jpg
inflating: __MACOSX/Food_101/french_fries/._3843922.jpg
inflating: Food_101/french_fries/2154538.jpg
inflating: __MACOSX/Food_101/french_fries/._2154538.jpg
inflating: Food_101/french_fries/107312.jpg
inflating: __MACOSX/Food_101/french_fries/._107312.jpg
inflating: Food_101/french_fries/3681263.jpg
inflating: __MACOSX/Food_101/french_fries/._3681263.jpg
inflating: Food_101/french_fries/2528360.jpg
inflating: __MACOSX/Food_101/french_fries/._2528360.jpg
inflating: Food_101/french_fries/946518.jpg
inflating: __MACOSX/Food_101/french_fries/._946518.jpg
inflating: Food_101/french_fries/1199754.jpg
inflating: __MACOSX/Food_101/french_fries/._1199754.jpg
inflating: Food_101/french_fries/3708309.jpg
inflating: __MACOSX/Food_101/french_fries/._3708309.jpg
inflating: Food_101/french_fries/2246621.jpg
inflating: __MACOSX/Food_101/french_fries/._2246621.jpg
inflating: Food_101/french_fries/1732161.jpg
inflating: __MACOSX/Food_101/french_fries/._1732161.jpg
inflating: Food_101/french_fries/2072514.jpg
inflating: __MACOSX/Food_101/french_fries/._2072514.jpg
inflating: Food_101/french_fries/3037407.jpg
inflating: __MACOSX/Food_101/french_fries/._3037407.jpg
inflating: Food_101/french_fries/1064632.jpg
inflating: __MACOSX/Food_101/french_fries/._1064632.jpg
inflating: Food_101/french_fries/3071320.jpg
inflating: __MACOSX/Food_101/french_fries/._3071320.jpg
inflating: Food_101/french_fries/602637.jpg
inflating: __MACOSX/Food_101/french_fries/._602637.jpg
inflating: Food_101/french_fries/3709611.jpg
inflating: __MACOSX/Food_101/french_fries/._3709611.jpg
inflating: Food_101/french_fries/3342829.jpg
inflating: __MACOSX/Food_101/french_fries/._3342829.jpg
inflating: Food_101/french_fries/3880376.jpg
inflating: __MACOSX/Food_101/french_fries/._3880376.jpg
inflating: Food_101/french_fries/605616.jpg
inflating: __MACOSX/Food_101/french_fries/._605616.jpg
inflating: Food_101/french_fries/2315325.jpg
inflating: __MACOSX/Food_101/french_fries/._2315325.jpg
inflating: Food_101/french_fries/3583553.jpg
inflating: __MACOSX/Food_101/french_fries/._3583553.jpg
inflating: Food_101/french_fries/3384067.jpg
inflating: __MACOSX/Food_101/french_fries/._3384067.jpg
inflating: Food_101/french_fries/854901.jpg
inflating: __MACOSX/Food_101/french_fries/._854901.jpg
inflating: Food_101/french_fries/1388756.jpg
inflating: __MACOSX/Food_101/french_fries/._1388756.jpg
inflating: Food_101/french_fries/2502370.jpg
inflating: __MACOSX/Food_101/french_fries/._2502370.jpg
inflating: Food_101/french_fries/2959500.jpg
inflating: __MACOSX/Food_101/french_fries/._2959500.jpg
inflating: Food_101/french_fries/3552493.jpg
inflating: __MACOSX/Food_101/french_fries/._3552493.jpg
inflating: Food_101/french_fries/2696740.jpg
inflating: __MACOSX/Food_101/french_fries/._2696740.jpg
inflating: Food_101/french_fries/1703753.jpg
inflating: __MACOSX/Food_101/french_fries/._1703753.jpg
inflating: Food_101/french_fries/2195953.jpg
inflating: __MACOSX/Food_101/french_fries/._2195953.jpg
inflating: Food_101/french_fries/828160.jpg
inflating: __MACOSX/Food_101/french_fries/._828160.jpg
inflating: Food_101/french_fries/212348.jpg
inflating: __MACOSX/Food_101/french_fries/._212348.jpg
inflating: Food_101/french_fries/2644820.jpg
inflating: __MACOSX/Food_101/french_fries/._2644820.jpg
inflating: Food_101/french_fries/2449370.jpg
inflating: __MACOSX/Food_101/french_fries/._2449370.jpg
inflating: Food_101/french_fries/590677.jpg
inflating: __MACOSX/Food_101/french_fries/._590677.jpg
inflating: Food_101/french_fries/2881817.jpg
inflating: __MACOSX/Food_101/french_fries/._2881817.jpg
inflating: Food_101/french_fries/2879174.jpg
inflating: __MACOSX/Food_101/french_fries/._2879174.jpg
inflating: Food_101/french_fries/3728345.jpg
inflating: __MACOSX/Food_101/french_fries/._3728345.jpg
inflating: Food_101/french_fries/2001882.jpg
inflating: __MACOSX/Food_101/french_fries/._2001882.jpg
inflating: Food_101/french_fries/2630804.jpg
inflating: __MACOSX/Food_101/french_fries/._2630804.jpg
inflating: Food_101/french_fries/2015613.jpg
inflating: __MACOSX/Food_101/french_fries/._2015613.jpg
inflating: Food_101/french_fries/1264270.jpg
inflating: __MACOSX/Food_101/french_fries/._1264270.jpg
inflating: Food_101/french_fries/3368541.jpg
inflating: __MACOSX/Food_101/french_fries/._3368541.jpg
inflating: Food_101/french_fries/2875570.jpg
inflating: __MACOSX/Food_101/french_fries/._2875570.jpg
inflating: Food_101/french_fries/3659782.jpg
inflating: __MACOSX/Food_101/french_fries/._3659782.jpg
inflating: Food_101/french_fries/2740844.jpg
inflating: __MACOSX/Food_101/french_fries/._2740844.jpg
inflating: Food_101/french_fries/2661646.jpg
inflating: __MACOSX/Food_101/french_fries/._2661646.jpg
inflating: Food_101/french_fries/1593676.jpg
inflating: __MACOSX/Food_101/french_fries/._1593676.jpg
inflating: Food_101/french_fries/758504.jpg
inflating: __MACOSX/Food_101/french_fries/._758504.jpg
inflating: Food_101/french_fries/2250693.jpg
inflating: __MACOSX/Food_101/french_fries/._2250693.jpg
inflating: Food_101/french_fries/3370087.jpg
inflating: __MACOSX/Food_101/french_fries/._3370087.jpg
inflating: Food_101/french_fries/2823656.jpg
inflating: __MACOSX/Food_101/french_fries/._2823656.jpg
inflating: Food_101/french_fries/581356.jpg
inflating: __MACOSX/Food_101/french_fries/._581356.jpg
inflating: Food_101/french_fries/168924.jpg
inflating: __MACOSX/Food_101/french_fries/._168924.jpg
inflating: Food_101/french_fries/3751241.jpg
inflating: __MACOSX/Food_101/french_fries/._3751241.jpg
inflating: Food_101/french_fries/258877.jpg
inflating: __MACOSX/Food_101/french_fries/._258877.jpg
inflating: Food_101/french_fries/923140.jpg
inflating: __MACOSX/Food_101/french_fries/._923140.jpg
inflating: Food_101/french_fries/872441.jpg
inflating: __MACOSX/Food_101/french_fries/._872441.jpg
inflating: Food_101/french_fries/3329455.jpg
inflating: __MACOSX/Food_101/french_fries/._3329455.jpg
inflating: Food_101/french_fries/839871.jpg
inflating: __MACOSX/Food_101/french_fries/._839871.jpg
inflating: Food_101/french_fries/1937830.jpg
inflating: __MACOSX/Food_101/french_fries/._1937830.jpg
inflating: Food_101/french_fries/3881337.jpg
inflating: __MACOSX/Food_101/french_fries/._3881337.jpg
inflating: Food_101/french_fries/3813899.jpg
inflating: __MACOSX/Food_101/french_fries/._3813899.jpg
inflating: Food_101/french_fries/2246387.jpg
inflating: __MACOSX/Food_101/french_fries/._2246387.jpg
inflating: Food_101/french_fries/1083531.jpg
inflating: __MACOSX/Food_101/french_fries/._1083531.jpg
inflating: Food_101/french_fries/2565707.jpg
inflating: __MACOSX/Food_101/french_fries/._2565707.jpg
inflating: Food_101/french_fries/1394977.jpg
inflating: __MACOSX/Food_101/french_fries/._1394977.jpg
inflating: Food_101/french_fries/3569228.jpg
inflating: __MACOSX/Food_101/french_fries/._3569228.jpg
inflating: Food_101/french_fries/798454.jpg
inflating: __MACOSX/Food_101/french_fries/._798454.jpg
inflating: Food_101/french_fries/2527291.jpg
inflating: __MACOSX/Food_101/french_fries/._2527291.jpg
inflating: Food_101/french_fries/3684873.jpg
inflating: __MACOSX/Food_101/french_fries/._3684873.jpg
inflating: Food_101/french_fries/2649282.jpg
inflating: __MACOSX/Food_101/french_fries/._2649282.jpg
inflating: Food_101/french_fries/357993.jpg
inflating: __MACOSX/Food_101/french_fries/._357993.jpg
inflating: Food_101/french_fries/1273478.jpg
inflating: __MACOSX/Food_101/french_fries/._1273478.jpg
inflating: Food_101/french_fries/3327888.jpg
inflating: __MACOSX/Food_101/french_fries/._3327888.jpg
inflating: Food_101/french_fries/1555814.jpg
inflating: __MACOSX/Food_101/french_fries/._1555814.jpg
inflating: Food_101/french_fries/806895.jpg
inflating: __MACOSX/Food_101/french_fries/._806895.jpg
inflating: Food_101/french_fries/820107.jpg
inflating: __MACOSX/Food_101/french_fries/._820107.jpg
inflating: Food_101/french_fries/3240152.jpg
inflating: __MACOSX/Food_101/french_fries/._3240152.jpg
inflating: Food_101/french_fries/560182.jpg
inflating: __MACOSX/Food_101/french_fries/._560182.jpg
inflating: Food_101/french_fries/2080959.jpg
inflating: __MACOSX/Food_101/french_fries/._2080959.jpg
inflating: Food_101/french_fries/1439886.jpg
inflating: __MACOSX/Food_101/french_fries/._1439886.jpg
inflating: Food_101/french_fries/3543947.jpg
inflating: __MACOSX/Food_101/french_fries/._3543947.jpg
inflating: Food_101/french_fries/1475332.jpg
inflating: __MACOSX/Food_101/french_fries/._1475332.jpg
inflating: Food_101/french_fries/3688324.jpg
inflating: __MACOSX/Food_101/french_fries/._3688324.jpg
inflating: Food_101/french_fries/3246331.jpg
inflating: __MACOSX/Food_101/french_fries/._3246331.jpg
inflating: Food_101/french_fries/1129645.jpg
inflating: __MACOSX/Food_101/french_fries/._1129645.jpg
inflating: Food_101/french_fries/3832935.jpg
inflating: __MACOSX/Food_101/french_fries/._3832935.jpg
inflating: Food_101/french_fries/403790.jpg
inflating: __MACOSX/Food_101/french_fries/._403790.jpg
inflating: Food_101/french_fries/696257.jpg
inflating: __MACOSX/Food_101/french_fries/._696257.jpg
inflating: Food_101/french_fries/333385.jpg
inflating: __MACOSX/Food_101/french_fries/._333385.jpg
inflating: Food_101/french_fries/628220.jpg
inflating: __MACOSX/Food_101/french_fries/._628220.jpg
inflating: Food_101/french_fries/1295274.jpg
inflating: __MACOSX/Food_101/french_fries/._1295274.jpg
inflating: Food_101/french_fries/2858185.jpg
inflating: __MACOSX/Food_101/french_fries/._2858185.jpg
inflating: Food_101/french_fries/2062301.jpg
inflating: __MACOSX/Food_101/french_fries/._2062301.jpg
inflating: Food_101/french_fries/3660458.jpg
inflating: __MACOSX/Food_101/french_fries/._3660458.jpg
inflating: Food_101/french_fries/2714782.jpg
inflating: __MACOSX/Food_101/french_fries/._2714782.jpg
inflating: Food_101/french_fries/2050364.jpg
inflating: __MACOSX/Food_101/french_fries/._2050364.jpg
inflating: Food_101/french_fries/3549099.jpg
inflating: __MACOSX/Food_101/french_fries/._3549099.jpg
inflating: Food_101/french_fries/2952319.jpg
inflating: __MACOSX/Food_101/french_fries/._2952319.jpg
inflating: Food_101/french_fries/3673168.jpg
inflating: __MACOSX/Food_101/french_fries/._3673168.jpg
inflating: Food_101/french_fries/778600.jpg
inflating: __MACOSX/Food_101/french_fries/._778600.jpg
inflating: Food_101/french_fries/2298765.jpg
inflating: __MACOSX/Food_101/french_fries/._2298765.jpg
inflating: Food_101/french_fries/2972546.jpg
inflating: __MACOSX/Food_101/french_fries/._2972546.jpg
inflating: Food_101/french_fries/3010680.jpg
inflating: __MACOSX/Food_101/french_fries/._3010680.jpg
inflating: Food_101/french_fries/2464961.jpg
inflating: __MACOSX/Food_101/french_fries/._2464961.jpg
inflating: Food_101/french_fries/655989.jpg
inflating: __MACOSX/Food_101/french_fries/._655989.jpg
inflating: Food_101/french_fries/2269039.jpg
inflating: __MACOSX/Food_101/french_fries/._2269039.jpg
inflating: Food_101/french_fries/2515183.jpg
inflating: __MACOSX/Food_101/french_fries/._2515183.jpg
inflating: Food_101/french_fries/106608.jpg
inflating: __MACOSX/Food_101/french_fries/._106608.jpg
inflating: Food_101/french_fries/950224.jpg
inflating: __MACOSX/Food_101/french_fries/._950224.jpg
inflating: Food_101/french_fries/510464.jpg
inflating: __MACOSX/Food_101/french_fries/._510464.jpg
inflating: Food_101/french_fries/391321.jpg
inflating: __MACOSX/Food_101/french_fries/._391321.jpg
inflating: Food_101/french_fries/963995.jpg
inflating: __MACOSX/Food_101/french_fries/._963995.jpg
inflating: Food_101/french_fries/850387.jpg
inflating: __MACOSX/Food_101/french_fries/._850387.jpg
inflating: Food_101/french_fries/782182.jpg
inflating: __MACOSX/Food_101/french_fries/._782182.jpg
inflating: Food_101/french_fries/3870681.jpg
inflating: __MACOSX/Food_101/french_fries/._3870681.jpg
inflating: Food_101/french_fries/2897469.jpg
inflating: __MACOSX/Food_101/french_fries/._2897469.jpg
inflating: Food_101/french_fries/859412.jpg
inflating: __MACOSX/Food_101/french_fries/._859412.jpg
inflating: Food_101/french_fries/51678.jpg
inflating: __MACOSX/Food_101/french_fries/._51678.jpg
inflating: Food_101/french_fries/619413.jpg
inflating: __MACOSX/Food_101/french_fries/._619413.jpg
inflating: Food_101/french_fries/290229.jpg
inflating: __MACOSX/Food_101/french_fries/._290229.jpg
inflating: Food_101/french_fries/293052.jpg
inflating: __MACOSX/Food_101/french_fries/._293052.jpg
inflating: Food_101/french_fries/2967215.jpg
inflating: __MACOSX/Food_101/french_fries/._2967215.jpg
inflating: Food_101/french_fries/2217120.jpg
inflating: __MACOSX/Food_101/french_fries/._2217120.jpg
inflating: Food_101/french_fries/1636661.jpg
inflating: __MACOSX/Food_101/french_fries/._1636661.jpg
inflating: Food_101/french_fries/3012487.jpg
inflating: __MACOSX/Food_101/french_fries/._3012487.jpg
inflating: Food_101/french_fries/2169308.jpg
inflating: __MACOSX/Food_101/french_fries/._2169308.jpg
inflating: Food_101/french_fries/2331134.jpg
inflating: __MACOSX/Food_101/french_fries/._2331134.jpg
inflating: Food_101/french_fries/3338239.jpg
inflating: __MACOSX/Food_101/french_fries/._3338239.jpg
inflating: Food_101/french_fries/238410.jpg
inflating: __MACOSX/Food_101/french_fries/._238410.jpg
inflating: Food_101/french_fries/3199467.jpg
inflating: __MACOSX/Food_101/french_fries/._3199467.jpg
inflating: Food_101/french_fries/697986.jpg
inflating: __MACOSX/Food_101/french_fries/._697986.jpg
inflating: Food_101/french_fries/344097.jpg
inflating: __MACOSX/Food_101/french_fries/._344097.jpg
inflating: Food_101/french_fries/3198786.jpg
inflating: __MACOSX/Food_101/french_fries/._3198786.jpg
inflating: Food_101/french_fries/3507251.jpg
inflating: __MACOSX/Food_101/french_fries/._3507251.jpg
inflating: Food_101/french_fries/2781602.jpg
inflating: __MACOSX/Food_101/french_fries/._2781602.jpg
inflating: Food_101/french_fries/1850310.jpg
inflating: __MACOSX/Food_101/french_fries/._1850310.jpg
inflating: Food_101/french_fries/3063044.jpg
inflating: __MACOSX/Food_101/french_fries/._3063044.jpg
inflating: Food_101/french_fries/2828062.jpg
inflating: __MACOSX/Food_101/french_fries/._2828062.jpg
inflating: Food_101/french_fries/57594.jpg
inflating: __MACOSX/Food_101/french_fries/._57594.jpg
inflating: Food_101/french_fries/1926251.jpg
inflating: __MACOSX/Food_101/french_fries/._1926251.jpg
inflating: Food_101/french_fries/204100.jpg
inflating: __MACOSX/Food_101/french_fries/._204100.jpg
inflating: Food_101/french_fries/152498.jpg
inflating: __MACOSX/Food_101/french_fries/._152498.jpg
inflating: Food_101/french_fries/3114409.jpg
inflating: __MACOSX/Food_101/french_fries/._3114409.jpg
inflating: Food_101/french_fries/3697215.jpg
inflating: __MACOSX/Food_101/french_fries/._3697215.jpg
inflating: Food_101/french_fries/2572849.jpg
inflating: __MACOSX/Food_101/french_fries/._2572849.jpg
inflating: Food_101/french_fries/2039103.jpg
inflating: __MACOSX/Food_101/french_fries/._2039103.jpg
inflating: Food_101/french_fries/774764.jpg
inflating: __MACOSX/Food_101/french_fries/._774764.jpg
inflating: Food_101/french_fries/2807320.jpg
inflating: __MACOSX/Food_101/french_fries/._2807320.jpg
inflating: Food_101/french_fries/2576150.jpg
inflating: __MACOSX/Food_101/french_fries/._2576150.jpg
inflating: Food_101/french_fries/1772806.jpg
inflating: __MACOSX/Food_101/french_fries/._1772806.jpg
inflating: Food_101/french_fries/2239352.jpg
inflating: __MACOSX/Food_101/french_fries/._2239352.jpg
inflating: Food_101/french_fries/112309.jpg
inflating: __MACOSX/Food_101/french_fries/._112309.jpg
inflating: Food_101/french_fries/3396115.jpg
inflating: __MACOSX/Food_101/french_fries/._3396115.jpg
inflating: Food_101/french_fries/2128557.jpg
inflating: __MACOSX/Food_101/french_fries/._2128557.jpg
inflating: Food_101/french_fries/3102929.jpg
inflating: __MACOSX/Food_101/french_fries/._3102929.jpg
inflating: Food_101/french_fries/2029107.jpg
inflating: __MACOSX/Food_101/french_fries/._2029107.jpg
inflating: Food_101/french_fries/3323977.jpg
inflating: __MACOSX/Food_101/french_fries/._3323977.jpg
inflating: Food_101/french_fries/3021100.jpg
inflating: __MACOSX/Food_101/french_fries/._3021100.jpg
inflating: Food_101/french_fries/1133382.jpg
inflating: __MACOSX/Food_101/french_fries/._1133382.jpg
inflating: Food_101/french_fries/267713.jpg
inflating: __MACOSX/Food_101/french_fries/._267713.jpg
inflating: Food_101/french_fries/3794090.jpg
inflating: __MACOSX/Food_101/french_fries/._3794090.jpg
inflating: Food_101/french_fries/3795403.jpg
inflating: __MACOSX/Food_101/french_fries/._3795403.jpg
inflating: Food_101/french_fries/275673.jpg
inflating: __MACOSX/Food_101/french_fries/._275673.jpg
inflating: Food_101/french_fries/2920371.jpg
inflating: __MACOSX/Food_101/french_fries/._2920371.jpg
inflating: Food_101/french_fries/251128.jpg
inflating: __MACOSX/Food_101/french_fries/._251128.jpg
inflating: Food_101/french_fries/3765135.jpg
inflating: __MACOSX/Food_101/french_fries/._3765135.jpg
inflating: Food_101/french_fries/498167.jpg
inflating: __MACOSX/Food_101/french_fries/._498167.jpg
inflating: Food_101/french_fries/3661409.jpg
inflating: __MACOSX/Food_101/french_fries/._3661409.jpg
inflating: Food_101/french_fries/796870.jpg
inflating: __MACOSX/Food_101/french_fries/._796870.jpg
inflating: Food_101/french_fries/2902107.jpg
inflating: __MACOSX/Food_101/french_fries/._2902107.jpg
inflating: Food_101/french_fries/3790341.jpg
inflating: __MACOSX/Food_101/french_fries/._3790341.jpg
inflating: Food_101/french_fries/3285020.jpg
inflating: __MACOSX/Food_101/french_fries/._3285020.jpg
inflating: Food_101/french_fries/2816416.jpg
inflating: __MACOSX/Food_101/french_fries/._2816416.jpg
inflating: Food_101/french_fries/149278.jpg
inflating: __MACOSX/Food_101/french_fries/._149278.jpg
inflating: Food_101/french_fries/1495836.jpg
inflating: __MACOSX/Food_101/french_fries/._1495836.jpg
inflating: Food_101/french_fries/1617899.jpg
inflating: __MACOSX/Food_101/french_fries/._1617899.jpg
inflating: Food_101/french_fries/546394.jpg
inflating: __MACOSX/Food_101/french_fries/._546394.jpg
inflating: Food_101/french_fries/2371507.jpg
inflating: __MACOSX/Food_101/french_fries/._2371507.jpg
inflating: Food_101/french_fries/3574519.jpg
inflating: __MACOSX/Food_101/french_fries/._3574519.jpg
inflating: Food_101/french_fries/904510.jpg
inflating: __MACOSX/Food_101/french_fries/._904510.jpg
inflating: Food_101/french_fries/1093724.jpg
inflating: __MACOSX/Food_101/french_fries/._1093724.jpg
inflating: Food_101/french_fries/3586758.jpg
inflating: __MACOSX/Food_101/french_fries/._3586758.jpg
inflating: Food_101/french_fries/3002687.jpg
inflating: __MACOSX/Food_101/french_fries/._3002687.jpg
inflating: Food_101/french_fries/751336.jpg
inflating: __MACOSX/Food_101/french_fries/._751336.jpg
inflating: Food_101/french_fries/397794.jpg
inflating: __MACOSX/Food_101/french_fries/._397794.jpg
inflating: Food_101/french_fries/796641.jpg
inflating: __MACOSX/Food_101/french_fries/._796641.jpg
inflating: Food_101/french_fries/1337228.jpg
inflating: __MACOSX/Food_101/french_fries/._1337228.jpg
inflating: Food_101/french_fries/2989888.jpg
inflating: __MACOSX/Food_101/french_fries/._2989888.jpg
inflating: Food_101/french_fries/2664896.jpg
inflating: __MACOSX/Food_101/french_fries/._2664896.jpg
inflating: Food_101/french_fries/3153806.jpg
inflating: __MACOSX/Food_101/french_fries/._3153806.jpg
inflating: Food_101/french_fries/292607.jpg
inflating: __MACOSX/Food_101/french_fries/._292607.jpg
inflating: Food_101/french_fries/3528931.jpg
inflating: __MACOSX/Food_101/french_fries/._3528931.jpg
inflating: Food_101/french_fries/3688281.jpg
inflating: __MACOSX/Food_101/french_fries/._3688281.jpg
inflating: Food_101/french_fries/322067.jpg
inflating: __MACOSX/Food_101/french_fries/._322067.jpg
inflating: Food_101/french_fries/528711.jpg
inflating: __MACOSX/Food_101/french_fries/._528711.jpg
inflating: Food_101/french_fries/1424609.jpg
inflating: __MACOSX/Food_101/french_fries/._1424609.jpg
inflating: Food_101/french_fries/573932.jpg
inflating: __MACOSX/Food_101/french_fries/._573932.jpg
inflating: Food_101/french_fries/1582025.jpg
inflating: __MACOSX/Food_101/french_fries/._1582025.jpg
inflating: Food_101/french_fries/1132539.jpg
inflating: __MACOSX/Food_101/french_fries/._1132539.jpg
inflating: Food_101/french_fries/3635674.jpg
inflating: __MACOSX/Food_101/french_fries/._3635674.jpg
inflating: Food_101/french_fries/2215693.jpg
inflating: __MACOSX/Food_101/french_fries/._2215693.jpg
inflating: Food_101/french_fries/1453873.jpg
inflating: __MACOSX/Food_101/french_fries/._1453873.jpg
inflating: Food_101/french_fries/164288.jpg
inflating: __MACOSX/Food_101/french_fries/._164288.jpg
inflating: Food_101/french_fries/146029.jpg
inflating: __MACOSX/Food_101/french_fries/._146029.jpg
inflating: Food_101/french_fries/3171053.jpg
inflating: __MACOSX/Food_101/french_fries/._3171053.jpg
inflating: Food_101/french_fries/3484006.jpg
inflating: __MACOSX/Food_101/french_fries/._3484006.jpg
inflating: Food_101/french_fries/80190.jpg
inflating: __MACOSX/Food_101/french_fries/._80190.jpg
inflating: Food_101/french_fries/1580419.jpg
inflating: __MACOSX/Food_101/french_fries/._1580419.jpg
inflating: Food_101/french_fries/1346017.jpg
inflating: __MACOSX/Food_101/french_fries/._1346017.jpg
inflating: Food_101/french_fries/3243064.jpg
inflating: __MACOSX/Food_101/french_fries/._3243064.jpg
inflating: Food_101/french_fries/2592571.jpg
inflating: __MACOSX/Food_101/french_fries/._2592571.jpg
inflating: Food_101/french_fries/2406476.jpg
inflating: __MACOSX/Food_101/french_fries/._2406476.jpg
inflating: Food_101/french_fries/3745147.jpg
inflating: __MACOSX/Food_101/french_fries/._3745147.jpg
inflating: Food_101/french_fries/1197437.jpg
inflating: __MACOSX/Food_101/french_fries/._1197437.jpg
inflating: Food_101/french_fries/1267026.jpg
inflating: __MACOSX/Food_101/french_fries/._1267026.jpg
inflating: Food_101/french_fries/2271466.jpg
inflating: __MACOSX/Food_101/french_fries/._2271466.jpg
inflating: Food_101/french_fries/3343500.jpg
inflating: __MACOSX/Food_101/french_fries/._3343500.jpg
inflating: Food_101/french_fries/3069345.jpg
inflating: __MACOSX/Food_101/french_fries/._3069345.jpg
inflating: Food_101/french_fries/848492.jpg
inflating: __MACOSX/Food_101/french_fries/._848492.jpg
inflating: Food_101/french_fries/2279576.jpg
inflating: __MACOSX/Food_101/french_fries/._2279576.jpg
inflating: Food_101/french_fries/1426779.jpg
inflating: __MACOSX/Food_101/french_fries/._1426779.jpg
inflating: Food_101/french_fries/2078820.jpg
inflating: __MACOSX/Food_101/french_fries/._2078820.jpg
inflating: Food_101/french_fries/1290860.jpg
inflating: __MACOSX/Food_101/french_fries/._1290860.jpg
inflating: Food_101/french_fries/2860811.jpg
inflating: __MACOSX/Food_101/french_fries/._2860811.jpg
inflating: Food_101/french_fries/3084187.jpg
inflating: __MACOSX/Food_101/french_fries/._3084187.jpg
inflating: Food_101/french_fries/60306.jpg
inflating: __MACOSX/Food_101/french_fries/._60306.jpg
inflating: Food_101/french_fries/2343991.jpg
inflating: __MACOSX/Food_101/french_fries/._2343991.jpg
inflating: Food_101/french_fries/575211.jpg
inflating: __MACOSX/Food_101/french_fries/._575211.jpg
inflating: Food_101/french_fries/1656352.jpg
inflating: __MACOSX/Food_101/french_fries/._1656352.jpg
inflating: Food_101/french_fries/577360.jpg
inflating: __MACOSX/Food_101/french_fries/._577360.jpg
inflating: Food_101/french_fries/108743.jpg
inflating: __MACOSX/Food_101/french_fries/._108743.jpg
inflating: Food_101/french_fries/274368.jpg
inflating: __MACOSX/Food_101/french_fries/._274368.jpg
inflating: Food_101/french_fries/2951206.jpg
inflating: __MACOSX/Food_101/french_fries/._2951206.jpg
inflating: Food_101/french_fries/3310979.jpg
inflating: __MACOSX/Food_101/french_fries/._3310979.jpg
inflating: Food_101/french_fries/1080215.jpg
inflating: __MACOSX/Food_101/french_fries/._1080215.jpg
inflating: Food_101/french_fries/85375.jpg
inflating: __MACOSX/Food_101/french_fries/._85375.jpg
inflating: Food_101/french_fries/885543.jpg
inflating: __MACOSX/Food_101/french_fries/._885543.jpg
inflating: Food_101/french_fries/2490548.jpg
inflating: __MACOSX/Food_101/french_fries/._2490548.jpg
inflating: Food_101/french_fries/2041482.jpg
inflating: __MACOSX/Food_101/french_fries/._2041482.jpg
inflating: Food_101/french_fries/194973.jpg
inflating: __MACOSX/Food_101/french_fries/._194973.jpg
inflating: Food_101/french_fries/1596441.jpg
inflating: __MACOSX/Food_101/french_fries/._1596441.jpg
inflating: Food_101/french_fries/1060646.jpg
inflating: __MACOSX/Food_101/french_fries/._1060646.jpg
inflating: Food_101/french_fries/2293554.jpg
inflating: __MACOSX/Food_101/french_fries/._2293554.jpg
inflating: Food_101/french_fries/2596850.jpg
inflating: __MACOSX/Food_101/french_fries/._2596850.jpg
inflating: Food_101/french_fries/744510.jpg
inflating: __MACOSX/Food_101/french_fries/._744510.jpg
inflating: Food_101/french_fries/773394.jpg
inflating: __MACOSX/Food_101/french_fries/._773394.jpg
inflating: Food_101/french_fries/1974930.jpg
inflating: __MACOSX/Food_101/french_fries/._1974930.jpg
inflating: Food_101/french_fries/2991239.jpg
inflating: __MACOSX/Food_101/french_fries/._2991239.jpg
inflating: Food_101/french_fries/1898017.jpg
inflating: __MACOSX/Food_101/french_fries/._1898017.jpg
inflating: Food_101/french_fries/1676299.jpg
inflating: __MACOSX/Food_101/french_fries/._1676299.jpg
inflating: Food_101/french_fries/457240.jpg
inflating: __MACOSX/Food_101/french_fries/._457240.jpg
inflating: Food_101/french_fries/2830352.jpg
inflating: __MACOSX/Food_101/french_fries/._2830352.jpg
inflating: Food_101/french_fries/1763119.jpg
inflating: __MACOSX/Food_101/french_fries/._1763119.jpg
inflating: Food_101/french_fries/2073415.jpg
inflating: __MACOSX/Food_101/french_fries/._2073415.jpg
inflating: Food_101/french_fries/2398418.jpg
inflating: __MACOSX/Food_101/french_fries/._2398418.jpg
inflating: Food_101/french_fries/3393664.jpg
inflating: __MACOSX/Food_101/french_fries/._3393664.jpg
inflating: Food_101/french_fries/1033213.jpg
inflating: __MACOSX/Food_101/french_fries/._1033213.jpg
inflating: Food_101/french_fries/391896.jpg
inflating: __MACOSX/Food_101/french_fries/._391896.jpg
inflating: Food_101/french_fries/3061304.jpg
inflating: __MACOSX/Food_101/french_fries/._3061304.jpg
inflating: Food_101/french_fries/1116093.jpg
inflating: __MACOSX/Food_101/french_fries/._1116093.jpg
inflating: Food_101/french_fries/409314.jpg
inflating: __MACOSX/Food_101/french_fries/._409314.jpg
inflating: Food_101/french_fries/2936284.jpg
inflating: __MACOSX/Food_101/french_fries/._2936284.jpg
inflating: Food_101/french_fries/320734.jpg
inflating: __MACOSX/Food_101/french_fries/._320734.jpg
inflating: Food_101/french_fries/3435993.jpg
inflating: __MACOSX/Food_101/french_fries/._3435993.jpg
inflating: Food_101/french_fries/571720.jpg
inflating: __MACOSX/Food_101/french_fries/._571720.jpg
inflating: Food_101/french_fries/1855501.jpg
inflating: __MACOSX/Food_101/french_fries/._1855501.jpg
inflating: Food_101/french_fries/2993823.jpg
inflating: __MACOSX/Food_101/french_fries/._2993823.jpg
inflating: Food_101/french_fries/2676252.jpg
inflating: __MACOSX/Food_101/french_fries/._2676252.jpg
inflating: Food_101/french_fries/1509620.jpg
inflating: __MACOSX/Food_101/french_fries/._1509620.jpg
inflating: Food_101/french_fries/553218.jpg
inflating: __MACOSX/Food_101/french_fries/._553218.jpg
inflating: Food_101/french_fries/3262272.jpg
inflating: __MACOSX/Food_101/french_fries/._3262272.jpg
inflating: Food_101/french_fries/3673822.jpg
inflating: __MACOSX/Food_101/french_fries/._3673822.jpg
inflating: Food_101/french_fries/233172.jpg
inflating: __MACOSX/Food_101/french_fries/._233172.jpg
inflating: Food_101/french_fries/200553.jpg
inflating: __MACOSX/Food_101/french_fries/._200553.jpg
inflating: Food_101/french_fries/443143.jpg
inflating: __MACOSX/Food_101/french_fries/._443143.jpg
inflating: Food_101/french_fries/1348209.jpg
inflating: __MACOSX/Food_101/french_fries/._1348209.jpg
inflating: Food_101/french_fries/580652.jpg
inflating: __MACOSX/Food_101/french_fries/._580652.jpg
inflating: Food_101/french_fries/3420756.jpg
inflating: __MACOSX/Food_101/french_fries/._3420756.jpg
inflating: Food_101/french_fries/3058426.jpg
inflating: __MACOSX/Food_101/french_fries/._3058426.jpg
inflating: Food_101/french_fries/491207.jpg
inflating: __MACOSX/Food_101/french_fries/._491207.jpg
inflating: Food_101/french_fries/2348229.jpg
inflating: __MACOSX/Food_101/french_fries/._2348229.jpg
inflating: Food_101/french_fries/3167615.jpg
inflating: __MACOSX/Food_101/french_fries/._3167615.jpg
inflating: Food_101/french_fries/82946.jpg
inflating: __MACOSX/Food_101/french_fries/._82946.jpg
inflating: Food_101/french_fries/2042971.jpg
inflating: __MACOSX/Food_101/french_fries/._2042971.jpg
inflating: Food_101/french_fries/3323039.jpg
inflating: __MACOSX/Food_101/french_fries/._3323039.jpg
inflating: Food_101/french_fries/2521012.jpg
inflating: __MACOSX/Food_101/french_fries/._2521012.jpg
inflating: Food_101/french_fries/2901987.jpg
inflating: __MACOSX/Food_101/french_fries/._2901987.jpg
inflating: Food_101/french_fries/266364.jpg
inflating: __MACOSX/Food_101/french_fries/._266364.jpg
inflating: Food_101/french_fries/1571407.jpg
inflating: __MACOSX/Food_101/french_fries/._1571407.jpg
inflating: Food_101/french_fries/2150187.jpg
inflating: __MACOSX/Food_101/french_fries/._2150187.jpg
inflating: Food_101/french_fries/587882.jpg
inflating: __MACOSX/Food_101/french_fries/._587882.jpg
inflating: Food_101/french_fries/3830442.jpg
inflating: __MACOSX/Food_101/french_fries/._3830442.jpg
inflating: Food_101/french_fries/2873652.jpg
inflating: __MACOSX/Food_101/french_fries/._2873652.jpg
inflating: Food_101/french_fries/3307428.jpg
inflating: __MACOSX/Food_101/french_fries/._3307428.jpg
inflating: Food_101/french_fries/2828656.jpg
inflating: __MACOSX/Food_101/french_fries/._2828656.jpg
inflating: Food_101/french_fries/389410.jpg
inflating: __MACOSX/Food_101/french_fries/._389410.jpg
inflating: Food_101/french_fries/1928448.jpg
inflating: __MACOSX/Food_101/french_fries/._1928448.jpg
inflating: Food_101/french_fries/607021.jpg
inflating: __MACOSX/Food_101/french_fries/._607021.jpg
inflating: Food_101/french_fries/3654244.jpg
inflating: __MACOSX/Food_101/french_fries/._3654244.jpg
inflating: Food_101/french_fries/3284906.jpg
inflating: __MACOSX/Food_101/french_fries/._3284906.jpg
inflating: Food_101/french_fries/868941.jpg
inflating: __MACOSX/Food_101/french_fries/._868941.jpg
inflating: Food_101/french_fries/2369999.jpg
inflating: __MACOSX/Food_101/french_fries/._2369999.jpg
inflating: Food_101/french_fries/1209297.jpg
inflating: __MACOSX/Food_101/french_fries/._1209297.jpg
inflating: Food_101/french_fries/204132.jpg
inflating: __MACOSX/Food_101/french_fries/._204132.jpg
inflating: Food_101/french_fries/2885926.jpg
inflating: __MACOSX/Food_101/french_fries/._2885926.jpg
inflating: Food_101/french_fries/1112960.jpg
inflating: __MACOSX/Food_101/french_fries/._1112960.jpg
inflating: Food_101/french_fries/483574.jpg
inflating: __MACOSX/Food_101/french_fries/._483574.jpg
inflating: Food_101/french_fries/3370703.jpg
inflating: __MACOSX/Food_101/french_fries/._3370703.jpg
inflating: Food_101/french_fries/2528368.jpg
inflating: __MACOSX/Food_101/french_fries/._2528368.jpg
inflating: Food_101/french_fries/3893262.jpg
inflating: __MACOSX/Food_101/french_fries/._3893262.jpg
inflating: Food_101/french_fries/2361094.jpg
inflating: __MACOSX/Food_101/french_fries/._2361094.jpg
inflating: Food_101/french_fries/17394.jpg
inflating: __MACOSX/Food_101/french_fries/._17394.jpg
inflating: Food_101/french_fries/3258500.jpg
inflating: __MACOSX/Food_101/french_fries/._3258500.jpg
inflating: Food_101/french_fries/505261.jpg
inflating: __MACOSX/Food_101/french_fries/._505261.jpg
inflating: Food_101/french_fries/674434.jpg
inflating: __MACOSX/Food_101/french_fries/._674434.jpg
inflating: Food_101/french_fries/2672237.jpg
inflating: __MACOSX/Food_101/french_fries/._2672237.jpg
inflating: Food_101/french_fries/177372.jpg
inflating: __MACOSX/Food_101/french_fries/._177372.jpg
inflating: Food_101/french_fries/2783225.jpg
inflating: __MACOSX/Food_101/french_fries/._2783225.jpg
inflating: Food_101/french_fries/1480588.jpg
inflating: __MACOSX/Food_101/french_fries/._1480588.jpg
inflating: Food_101/french_fries/2780060.jpg
inflating: __MACOSX/Food_101/french_fries/._2780060.jpg
inflating: Food_101/french_fries/1606755.jpg
inflating: __MACOSX/Food_101/french_fries/._1606755.jpg
inflating: Food_101/french_fries/3817404.jpg
inflating: __MACOSX/Food_101/french_fries/._3817404.jpg
inflating: Food_101/french_fries/1897333.jpg
inflating: __MACOSX/Food_101/french_fries/._1897333.jpg
inflating: Food_101/french_fries/474317.jpg
inflating: __MACOSX/Food_101/french_fries/._474317.jpg
inflating: Food_101/french_fries/87020.jpg
inflating: __MACOSX/Food_101/french_fries/._87020.jpg
inflating: Food_101/french_fries/143994.jpg
inflating: __MACOSX/Food_101/french_fries/._143994.jpg
inflating: Food_101/french_fries/2982285.jpg
inflating: __MACOSX/Food_101/french_fries/._2982285.jpg
inflating: Food_101/french_fries/2762026.jpg
inflating: __MACOSX/Food_101/french_fries/._2762026.jpg
inflating: Food_101/french_fries/3139636.jpg
inflating: __MACOSX/Food_101/french_fries/._3139636.jpg
inflating: Food_101/french_fries/3894916.jpg
inflating: __MACOSX/Food_101/french_fries/._3894916.jpg
inflating: Food_101/french_fries/3303248.jpg
inflating: __MACOSX/Food_101/french_fries/._3303248.jpg
inflating: Food_101/french_fries/1102783.jpg
inflating: __MACOSX/Food_101/french_fries/._1102783.jpg
inflating: Food_101/french_fries/200168.jpg
inflating: __MACOSX/Food_101/french_fries/._200168.jpg
inflating: Food_101/french_fries/1901621.jpg
inflating: __MACOSX/Food_101/french_fries/._1901621.jpg
inflating: Food_101/french_fries/1078563.jpg
inflating: __MACOSX/Food_101/french_fries/._1078563.jpg
inflating: Food_101/french_fries/3252577.jpg
inflating: __MACOSX/Food_101/french_fries/._3252577.jpg
inflating: Food_101/french_fries/1306987.jpg
inflating: __MACOSX/Food_101/french_fries/._1306987.jpg
inflating: Food_101/french_fries/3327856.jpg
inflating: __MACOSX/Food_101/french_fries/._3327856.jpg
inflating: Food_101/french_fries/3053028.jpg
inflating: __MACOSX/Food_101/french_fries/._3053028.jpg
inflating: Food_101/french_fries/3029784.jpg
inflating: __MACOSX/Food_101/french_fries/._3029784.jpg
inflating: Food_101/french_fries/203924.jpg
inflating: __MACOSX/Food_101/french_fries/._203924.jpg
inflating: Food_101/french_fries/2045577.jpg
inflating: __MACOSX/Food_101/french_fries/._2045577.jpg
inflating: Food_101/french_fries/2325575.jpg
inflating: __MACOSX/Food_101/french_fries/._2325575.jpg
inflating: Food_101/french_fries/1504529.jpg
inflating: __MACOSX/Food_101/french_fries/._1504529.jpg
inflating: Food_101/french_fries/3598151.jpg
inflating: __MACOSX/Food_101/french_fries/._3598151.jpg
inflating: Food_101/french_fries/2846402.jpg
inflating: __MACOSX/Food_101/french_fries/._2846402.jpg
inflating: Food_101/french_fries/1905719.jpg
inflating: __MACOSX/Food_101/french_fries/._1905719.jpg
inflating: Food_101/french_fries/1987068.jpg
inflating: __MACOSX/Food_101/french_fries/._1987068.jpg
inflating: Food_101/french_fries/290382.jpg
inflating: __MACOSX/Food_101/french_fries/._290382.jpg
inflating: Food_101/french_fries/262882.jpg
inflating: __MACOSX/Food_101/french_fries/._262882.jpg
inflating: Food_101/french_fries/93653.jpg
inflating: __MACOSX/Food_101/french_fries/._93653.jpg
inflating: Food_101/french_fries/2958833.jpg
inflating: __MACOSX/Food_101/french_fries/._2958833.jpg
inflating: Food_101/french_fries/1928660.jpg
inflating: __MACOSX/Food_101/french_fries/._1928660.jpg
inflating: Food_101/french_fries/2821467.jpg
inflating: __MACOSX/Food_101/french_fries/._2821467.jpg
inflating: Food_101/french_fries/1219252.jpg
inflating: __MACOSX/Food_101/french_fries/._1219252.jpg
inflating: Food_101/french_fries/3069835.jpg
inflating: __MACOSX/Food_101/french_fries/._3069835.jpg
inflating: Food_101/french_fries/845350.jpg
inflating: __MACOSX/Food_101/french_fries/._845350.jpg
inflating: Food_101/french_fries/2903605.jpg
inflating: __MACOSX/Food_101/french_fries/._2903605.jpg
inflating: Food_101/french_fries/1740113.jpg
inflating: __MACOSX/Food_101/french_fries/._1740113.jpg
inflating: Food_101/french_fries/1622796.jpg
inflating: __MACOSX/Food_101/french_fries/._1622796.jpg
inflating: Food_101/french_fries/2823700.jpg
inflating: __MACOSX/Food_101/french_fries/._2823700.jpg
inflating: Food_101/french_fries/3324580.jpg
inflating: __MACOSX/Food_101/french_fries/._3324580.jpg
inflating: Food_101/french_fries/720462.jpg
inflating: __MACOSX/Food_101/french_fries/._720462.jpg
inflating: Food_101/french_fries/2345519.jpg
inflating: __MACOSX/Food_101/french_fries/._2345519.jpg
inflating: Food_101/french_fries/2755270.jpg
inflating: __MACOSX/Food_101/french_fries/._2755270.jpg
inflating: Food_101/french_fries/2551910.jpg
inflating: __MACOSX/Food_101/french_fries/._2551910.jpg
inflating: Food_101/french_fries/63947.jpg
inflating: __MACOSX/Food_101/french_fries/._63947.jpg
inflating: Food_101/french_fries/1712331.jpg
inflating: __MACOSX/Food_101/french_fries/._1712331.jpg
inflating: Food_101/french_fries/1610240.jpg
inflating: __MACOSX/Food_101/french_fries/._1610240.jpg
inflating: Food_101/french_fries/992636.jpg
inflating: __MACOSX/Food_101/french_fries/._992636.jpg
inflating: Food_101/french_fries/2169665.jpg
inflating: __MACOSX/Food_101/french_fries/._2169665.jpg
inflating: Food_101/french_fries/2979208.jpg
inflating: __MACOSX/Food_101/french_fries/._2979208.jpg
inflating: Food_101/french_fries/3565195.jpg
inflating: __MACOSX/Food_101/french_fries/._3565195.jpg
inflating: Food_101/french_fries/3358729.jpg
inflating: __MACOSX/Food_101/french_fries/._3358729.jpg
inflating: Food_101/french_fries/1505018.jpg
inflating: __MACOSX/Food_101/french_fries/._1505018.jpg
inflating: Food_101/french_fries/3871541.jpg
inflating: __MACOSX/Food_101/french_fries/._3871541.jpg
inflating: Food_101/french_fries/720270.jpg
inflating: __MACOSX/Food_101/french_fries/._720270.jpg
inflating: Food_101/french_fries/2182834.jpg
inflating: __MACOSX/Food_101/french_fries/._2182834.jpg
inflating: Food_101/french_fries/792429.jpg
inflating: __MACOSX/Food_101/french_fries/._792429.jpg
inflating: Food_101/french_fries/2314805.jpg
inflating: __MACOSX/Food_101/french_fries/._2314805.jpg
inflating: Food_101/french_fries/2539272.jpg
inflating: __MACOSX/Food_101/french_fries/._2539272.jpg
inflating: Food_101/french_fries/3639861.jpg
inflating: __MACOSX/Food_101/french_fries/._3639861.jpg
inflating: Food_101/french_fries/303460.jpg
inflating: __MACOSX/Food_101/french_fries/._303460.jpg
inflating: Food_101/french_fries/584998.jpg
inflating: __MACOSX/Food_101/french_fries/._584998.jpg
inflating: Food_101/french_fries/3835129.jpg
inflating: __MACOSX/Food_101/french_fries/._3835129.jpg
inflating: Food_101/french_fries/2971456.jpg
inflating: __MACOSX/Food_101/french_fries/._2971456.jpg
inflating: Food_101/french_fries/721344.jpg
inflating: __MACOSX/Food_101/french_fries/._721344.jpg
inflating: Food_101/french_fries/2195192.jpg
inflating: __MACOSX/Food_101/french_fries/._2195192.jpg
inflating: Food_101/french_fries/1692647.jpg
inflating: __MACOSX/Food_101/french_fries/._1692647.jpg
inflating: Food_101/french_fries/914709.jpg
inflating: __MACOSX/Food_101/french_fries/._914709.jpg
inflating: Food_101/french_fries/2004116.jpg
inflating: __MACOSX/Food_101/french_fries/._2004116.jpg
inflating: Food_101/french_fries/2603436.jpg
inflating: __MACOSX/Food_101/french_fries/._2603436.jpg
inflating: Food_101/french_fries/3156237.jpg
inflating: __MACOSX/Food_101/french_fries/._3156237.jpg
inflating: Food_101/french_fries/2369424.jpg
inflating: __MACOSX/Food_101/french_fries/._2369424.jpg
inflating: Food_101/french_fries/887149.jpg
inflating: __MACOSX/Food_101/french_fries/._887149.jpg
inflating: Food_101/french_fries/3842428.jpg
inflating: __MACOSX/Food_101/french_fries/._3842428.jpg
inflating: Food_101/french_fries/3352770.jpg
inflating: __MACOSX/Food_101/french_fries/._3352770.jpg
inflating: Food_101/french_fries/2248373.jpg
inflating: __MACOSX/Food_101/french_fries/._2248373.jpg
inflating: Food_101/french_fries/223944.jpg
inflating: __MACOSX/Food_101/french_fries/._223944.jpg
inflating: Food_101/french_fries/3061458.jpg
inflating: __MACOSX/Food_101/french_fries/._3061458.jpg
inflating: Food_101/french_fries/2149566.jpg
inflating: __MACOSX/Food_101/french_fries/._2149566.jpg
inflating: Food_101/french_fries/2649729.jpg
inflating: __MACOSX/Food_101/french_fries/._2649729.jpg
inflating: Food_101/french_fries/659984.jpg
inflating: __MACOSX/Food_101/french_fries/._659984.jpg
inflating: Food_101/french_fries/584234.jpg
inflating: __MACOSX/Food_101/french_fries/._584234.jpg
inflating: Food_101/french_fries/1923452.jpg
inflating: __MACOSX/Food_101/french_fries/._1923452.jpg
inflating: Food_101/french_fries/3870897.jpg
inflating: __MACOSX/Food_101/french_fries/._3870897.jpg
inflating: Food_101/french_fries/2483067.jpg
inflating: __MACOSX/Food_101/french_fries/._2483067.jpg
inflating: Food_101/french_fries/3325881.jpg
inflating: __MACOSX/Food_101/french_fries/._3325881.jpg
inflating: Food_101/french_fries/1648775.jpg
inflating: __MACOSX/Food_101/french_fries/._1648775.jpg
inflating: Food_101/french_fries/3919772.jpg
inflating: __MACOSX/Food_101/french_fries/._3919772.jpg
inflating: Food_101/french_fries/653305.jpg
inflating: __MACOSX/Food_101/french_fries/._653305.jpg
inflating: Food_101/french_fries/3647571.jpg
inflating: __MACOSX/Food_101/french_fries/._3647571.jpg
inflating: Food_101/french_fries/153823.jpg
inflating: __MACOSX/Food_101/french_fries/._153823.jpg
inflating: Food_101/french_fries/2991808.jpg
inflating: __MACOSX/Food_101/french_fries/._2991808.jpg
inflating: Food_101/french_fries/3285362.jpg
inflating: __MACOSX/Food_101/french_fries/._3285362.jpg
inflating: Food_101/french_fries/2418455.jpg
inflating: __MACOSX/Food_101/french_fries/._2418455.jpg
inflating: Food_101/french_fries/48052.jpg
inflating: __MACOSX/Food_101/french_fries/._48052.jpg
inflating: Food_101/french_fries/3311926.jpg
inflating: __MACOSX/Food_101/french_fries/._3311926.jpg
inflating: Food_101/french_fries/3050068.jpg
inflating: __MACOSX/Food_101/french_fries/._3050068.jpg
inflating: Food_101/french_fries/374001.jpg
inflating: __MACOSX/Food_101/french_fries/._374001.jpg
inflating: Food_101/french_fries/605382.jpg
inflating: __MACOSX/Food_101/french_fries/._605382.jpg
inflating: Food_101/french_fries/3623578.jpg
inflating: __MACOSX/Food_101/french_fries/._3623578.jpg
inflating: Food_101/french_fries/2607081.jpg
inflating: __MACOSX/Food_101/french_fries/._2607081.jpg
inflating: Food_101/french_fries/2226284.jpg
inflating: __MACOSX/Food_101/french_fries/._2226284.jpg
inflating: Food_101/french_fries/2632761.jpg
inflating: __MACOSX/Food_101/french_fries/._2632761.jpg
inflating: Food_101/french_fries/1987093.jpg
inflating: __MACOSX/Food_101/french_fries/._1987093.jpg
inflating: Food_101/french_fries/2956615.jpg
inflating: __MACOSX/Food_101/french_fries/._2956615.jpg
inflating: Food_101/french_fries/1316819.jpg
inflating: __MACOSX/Food_101/french_fries/._1316819.jpg
inflating: Food_101/french_fries/3116766.jpg
inflating: __MACOSX/Food_101/french_fries/._3116766.jpg
inflating: Food_101/french_fries/541592.jpg
inflating: __MACOSX/Food_101/french_fries/._541592.jpg
inflating: Food_101/french_fries/2719269.jpg
inflating: __MACOSX/Food_101/french_fries/._2719269.jpg
inflating: Food_101/french_fries/3103431.jpg
inflating: __MACOSX/Food_101/french_fries/._3103431.jpg
inflating: Food_101/french_fries/1138037.jpg
inflating: __MACOSX/Food_101/french_fries/._1138037.jpg
inflating: Food_101/french_fries/2984592.jpg
inflating: __MACOSX/Food_101/french_fries/._2984592.jpg
inflating: Food_101/french_fries/2348992.jpg
inflating: __MACOSX/Food_101/french_fries/._2348992.jpg
inflating: Food_101/french_fries/3247750.jpg
inflating: __MACOSX/Food_101/french_fries/._3247750.jpg
inflating: Food_101/french_fries/2429892.jpg
inflating: __MACOSX/Food_101/french_fries/._2429892.jpg
inflating: Food_101/french_fries/3730920.jpg
inflating: __MACOSX/Food_101/french_fries/._3730920.jpg
inflating: Food_101/french_fries/3139.jpg
inflating: __MACOSX/Food_101/french_fries/._3139.jpg
inflating: Food_101/french_fries/2823936.jpg
inflating: __MACOSX/Food_101/french_fries/._2823936.jpg
inflating: Food_101/french_fries/1437118.jpg
inflating: __MACOSX/Food_101/french_fries/._1437118.jpg
inflating: Food_101/french_fries/2246161.jpg
inflating: __MACOSX/Food_101/french_fries/._2246161.jpg
inflating: Food_101/french_fries/184954.jpg
inflating: __MACOSX/Food_101/french_fries/._184954.jpg
inflating: Food_101/french_fries/2357939.jpg
inflating: __MACOSX/Food_101/french_fries/._2357939.jpg
inflating: Food_101/french_fries/319830.jpg
inflating: __MACOSX/Food_101/french_fries/._319830.jpg
inflating: Food_101/french_fries/2886781.jpg
inflating: __MACOSX/Food_101/french_fries/._2886781.jpg
inflating: Food_101/french_fries/187087.jpg
inflating: __MACOSX/Food_101/french_fries/._187087.jpg
inflating: Food_101/french_fries/3417062.jpg
inflating: __MACOSX/Food_101/french_fries/._3417062.jpg
inflating: Food_101/french_fries/89974.jpg
inflating: __MACOSX/Food_101/french_fries/._89974.jpg
inflating: Food_101/french_fries/2752863.jpg
inflating: __MACOSX/Food_101/french_fries/._2752863.jpg
inflating: Food_101/french_fries/123902.jpg
inflating: __MACOSX/Food_101/french_fries/._123902.jpg
inflating: Food_101/french_fries/531883.jpg
inflating: __MACOSX/Food_101/french_fries/._531883.jpg
inflating: Food_101/french_fries/1694219.jpg
inflating: __MACOSX/Food_101/french_fries/._1694219.jpg
inflating: Food_101/french_fries/2189231.jpg
inflating: __MACOSX/Food_101/french_fries/._2189231.jpg
inflating: Food_101/french_fries/2956993.jpg
inflating: __MACOSX/Food_101/french_fries/._2956993.jpg
inflating: Food_101/french_fries/2836915.jpg
inflating: __MACOSX/Food_101/french_fries/._2836915.jpg
inflating: Food_101/french_fries/2077845.jpg
inflating: __MACOSX/Food_101/french_fries/._2077845.jpg
inflating: Food_101/french_fries/2705078.jpg
inflating: __MACOSX/Food_101/french_fries/._2705078.jpg
inflating: Food_101/french_fries/3308469.jpg
inflating: __MACOSX/Food_101/french_fries/._3308469.jpg
inflating: Food_101/french_fries/485471.jpg
inflating: __MACOSX/Food_101/french_fries/._485471.jpg
inflating: Food_101/french_fries/3719546.jpg
inflating: __MACOSX/Food_101/french_fries/._3719546.jpg
inflating: Food_101/french_fries/457709.jpg
inflating: __MACOSX/Food_101/french_fries/._457709.jpg
inflating: Food_101/french_fries/2730558.jpg
inflating: __MACOSX/Food_101/french_fries/._2730558.jpg
inflating: Food_101/french_fries/240760.jpg
inflating: __MACOSX/Food_101/french_fries/._240760.jpg
inflating: Food_101/french_fries/3714937.jpg
inflating: __MACOSX/Food_101/french_fries/._3714937.jpg
inflating: Food_101/french_fries/2091683.jpg
inflating: __MACOSX/Food_101/french_fries/._2091683.jpg
inflating: Food_101/french_fries/3857595.jpg
inflating: __MACOSX/Food_101/french_fries/._3857595.jpg
inflating: Food_101/french_fries/3070998.jpg
inflating: __MACOSX/Food_101/french_fries/._3070998.jpg
inflating: Food_101/french_fries/3509699.jpg
inflating: __MACOSX/Food_101/french_fries/._3509699.jpg
inflating: Food_101/french_fries/2622969.jpg
inflating: __MACOSX/Food_101/french_fries/._2622969.jpg
inflating: Food_101/french_fries/2998185.jpg
inflating: __MACOSX/Food_101/french_fries/._2998185.jpg
inflating: Food_101/french_fries/999957.jpg
inflating: __MACOSX/Food_101/french_fries/._999957.jpg
inflating: Food_101/french_fries/2846809.jpg
inflating: __MACOSX/Food_101/french_fries/._2846809.jpg
inflating: Food_101/french_fries/2661893.jpg
inflating: __MACOSX/Food_101/french_fries/._2661893.jpg
inflating: Food_101/french_fries/143158.jpg
inflating: __MACOSX/Food_101/french_fries/._143158.jpg
inflating: Food_101/french_fries/2335210.jpg
inflating: __MACOSX/Food_101/french_fries/._2335210.jpg
inflating: Food_101/french_fries/2733482.jpg
inflating: __MACOSX/Food_101/french_fries/._2733482.jpg
inflating: Food_101/french_fries/2637800.jpg
inflating: __MACOSX/Food_101/french_fries/._2637800.jpg
inflating: Food_101/french_fries/2472499.jpg
inflating: __MACOSX/Food_101/french_fries/._2472499.jpg
inflating: Food_101/french_fries/2452990.jpg
inflating: __MACOSX/Food_101/french_fries/._2452990.jpg
inflating: Food_101/french_fries/2497428.jpg
inflating: __MACOSX/Food_101/french_fries/._2497428.jpg
inflating: Food_101/french_fries/3137998.jpg
inflating: __MACOSX/Food_101/french_fries/._3137998.jpg
inflating: Food_101/french_fries/3405511.jpg
inflating: __MACOSX/Food_101/french_fries/._3405511.jpg
inflating: Food_101/french_fries/1258546.jpg
inflating: __MACOSX/Food_101/french_fries/._1258546.jpg
inflating: Food_101/french_fries/1234305.jpg
inflating: __MACOSX/Food_101/french_fries/._1234305.jpg
inflating: Food_101/french_fries/2641001.jpg
inflating: __MACOSX/Food_101/french_fries/._2641001.jpg
inflating: Food_101/french_fries/366349.jpg
inflating: __MACOSX/Food_101/french_fries/._366349.jpg
inflating: Food_101/french_fries/1875986.jpg
inflating: __MACOSX/Food_101/french_fries/._1875986.jpg
inflating: Food_101/french_fries/2389101.jpg
inflating: __MACOSX/Food_101/french_fries/._2389101.jpg
inflating: Food_101/french_fries/672487.jpg
inflating: __MACOSX/Food_101/french_fries/._672487.jpg
inflating: Food_101/french_fries/3626833.jpg
inflating: __MACOSX/Food_101/french_fries/._3626833.jpg
inflating: Food_101/french_fries/1495592.jpg
inflating: __MACOSX/Food_101/french_fries/._1495592.jpg
inflating: Food_101/french_fries/3893313.jpg
inflating: __MACOSX/Food_101/french_fries/._3893313.jpg
inflating: Food_101/french_fries/64960.jpg
inflating: __MACOSX/Food_101/french_fries/._64960.jpg
inflating: Food_101/french_fries/2708944.jpg
inflating: __MACOSX/Food_101/french_fries/._2708944.jpg
inflating: Food_101/french_fries/1659097.jpg
inflating: __MACOSX/Food_101/french_fries/._1659097.jpg
inflating: Food_101/french_fries/2127530.jpg
inflating: __MACOSX/Food_101/french_fries/._2127530.jpg
inflating: Food_101/french_fries/2965155.jpg
inflating: __MACOSX/Food_101/french_fries/._2965155.jpg
inflating: Food_101/french_fries/2262956.jpg
inflating: __MACOSX/Food_101/french_fries/._2262956.jpg
inflating: Food_101/french_fries/3221561.jpg
inflating: __MACOSX/Food_101/french_fries/._3221561.jpg
inflating: Food_101/french_fries/1215903.jpg
inflating: __MACOSX/Food_101/french_fries/._1215903.jpg
inflating: Food_101/french_fries/1767804.jpg
inflating: __MACOSX/Food_101/french_fries/._1767804.jpg
inflating: Food_101/french_fries/1745333.jpg
inflating: __MACOSX/Food_101/french_fries/._1745333.jpg
inflating: Food_101/french_fries/2853342.jpg
inflating: __MACOSX/Food_101/french_fries/._2853342.jpg
inflating: Food_101/french_fries/455862.jpg
inflating: __MACOSX/Food_101/french_fries/._455862.jpg
inflating: Food_101/french_fries/3656250.jpg
inflating: __MACOSX/Food_101/french_fries/._3656250.jpg
inflating: Food_101/french_fries/1552191.jpg
inflating: __MACOSX/Food_101/french_fries/._1552191.jpg
inflating: Food_101/french_fries/3535015.jpg
inflating: __MACOSX/Food_101/french_fries/._3535015.jpg
inflating: Food_101/french_fries/1443088.jpg
inflating: __MACOSX/Food_101/french_fries/._1443088.jpg
inflating: Food_101/french_fries/3681905.jpg
inflating: __MACOSX/Food_101/french_fries/._3681905.jpg
inflating: Food_101/french_fries/123929.jpg
inflating: __MACOSX/Food_101/french_fries/._123929.jpg
inflating: Food_101/french_fries/566728.jpg
inflating: __MACOSX/Food_101/french_fries/._566728.jpg
inflating: Food_101/french_fries/1700344.jpg
inflating: __MACOSX/Food_101/french_fries/._1700344.jpg
inflating: Food_101/french_fries/3057602.jpg
inflating: __MACOSX/Food_101/french_fries/._3057602.jpg
inflating: Food_101/french_fries/3145574.jpg
inflating: __MACOSX/Food_101/french_fries/._3145574.jpg
inflating: Food_101/french_fries/1177340.jpg
inflating: __MACOSX/Food_101/french_fries/._1177340.jpg
inflating: Food_101/french_fries/768719.jpg
inflating: __MACOSX/Food_101/french_fries/._768719.jpg
inflating: Food_101/french_fries/1337938.jpg
inflating: __MACOSX/Food_101/french_fries/._1337938.jpg
inflating: Food_101/french_fries/71701.jpg
inflating: __MACOSX/Food_101/french_fries/._71701.jpg
inflating: Food_101/french_fries/3159377.jpg
inflating: __MACOSX/Food_101/french_fries/._3159377.jpg
inflating: Food_101/french_fries/1877099.jpg
inflating: __MACOSX/Food_101/french_fries/._1877099.jpg
inflating: Food_101/french_fries/3295921.jpg
inflating: __MACOSX/Food_101/french_fries/._3295921.jpg
inflating: Food_101/french_fries/1969264.jpg
inflating: __MACOSX/Food_101/french_fries/._1969264.jpg
inflating: Food_101/french_fries/1443762.jpg
inflating: __MACOSX/Food_101/french_fries/._1443762.jpg
inflating: Food_101/french_fries/172042.jpg
inflating: __MACOSX/Food_101/french_fries/._172042.jpg
inflating: Food_101/french_fries/1923345.jpg
inflating: __MACOSX/Food_101/french_fries/._1923345.jpg
inflating: Food_101/french_fries/895886.jpg
inflating: __MACOSX/Food_101/french_fries/._895886.jpg
inflating: Food_101/french_fries/847042.jpg
inflating: __MACOSX/Food_101/french_fries/._847042.jpg
inflating: Food_101/french_fries/147628.jpg
inflating: __MACOSX/Food_101/french_fries/._147628.jpg
inflating: Food_101/french_fries/3746805.jpg
inflating: __MACOSX/Food_101/french_fries/._3746805.jpg
inflating: Food_101/french_fries/3919930.jpg
inflating: __MACOSX/Food_101/french_fries/._3919930.jpg
inflating: Food_101/french_fries/1595244.jpg
inflating: __MACOSX/Food_101/french_fries/._1595244.jpg
inflating: Food_101/french_fries/2239316.jpg
inflating: __MACOSX/Food_101/french_fries/._2239316.jpg
inflating: Food_101/french_fries/1781706.jpg
inflating: __MACOSX/Food_101/french_fries/._1781706.jpg
inflating: Food_101/french_fries/3620996.jpg
inflating: __MACOSX/Food_101/french_fries/._3620996.jpg
inflating: Food_101/french_fries/2214535.jpg
inflating: __MACOSX/Food_101/french_fries/._2214535.jpg
inflating: Food_101/french_fries/2385210.jpg
inflating: __MACOSX/Food_101/french_fries/._2385210.jpg
inflating: Food_101/french_fries/201362.jpg
inflating: __MACOSX/Food_101/french_fries/._201362.jpg
inflating: Food_101/french_fries/2031719.jpg
inflating: __MACOSX/Food_101/french_fries/._2031719.jpg
inflating: Food_101/french_fries/3772034.jpg
inflating: __MACOSX/Food_101/french_fries/._3772034.jpg
inflating: Food_101/french_fries/2121537.jpg
inflating: __MACOSX/Food_101/french_fries/._2121537.jpg
inflating: Food_101/french_fries/973682.jpg
inflating: __MACOSX/Food_101/french_fries/._973682.jpg
inflating: Food_101/french_fries/2893262.jpg
inflating: __MACOSX/Food_101/french_fries/._2893262.jpg
inflating: Food_101/french_fries/2650142.jpg
inflating: __MACOSX/Food_101/french_fries/._2650142.jpg
inflating: Food_101/french_fries/174977.jpg
inflating: __MACOSX/Food_101/french_fries/._174977.jpg
inflating: Food_101/french_fries/1510273.jpg
inflating: __MACOSX/Food_101/french_fries/._1510273.jpg
inflating: Food_101/french_fries/2301475.jpg
inflating: __MACOSX/Food_101/french_fries/._2301475.jpg
inflating: Food_101/french_fries/3626100.jpg
inflating: __MACOSX/Food_101/french_fries/._3626100.jpg
inflating: Food_101/french_fries/1934980.jpg
inflating: __MACOSX/Food_101/french_fries/._1934980.jpg
inflating: Food_101/french_fries/3293202.jpg
inflating: __MACOSX/Food_101/french_fries/._3293202.jpg
inflating: Food_101/french_fries/1541766.jpg
inflating: __MACOSX/Food_101/french_fries/._1541766.jpg
inflating: Food_101/french_fries/2487311.jpg
inflating: __MACOSX/Food_101/french_fries/._2487311.jpg
inflating: Food_101/french_fries/153648.jpg
inflating: __MACOSX/Food_101/french_fries/._153648.jpg
inflating: Food_101/french_fries/3303188.jpg
inflating: __MACOSX/Food_101/french_fries/._3303188.jpg
inflating: Food_101/french_fries/2895439.jpg
inflating: __MACOSX/Food_101/french_fries/._2895439.jpg
inflating: Food_101/french_fries/1909354.jpg
inflating: __MACOSX/Food_101/french_fries/._1909354.jpg
inflating: Food_101/french_fries/1538500.jpg
inflating: __MACOSX/Food_101/french_fries/._1538500.jpg
inflating: Food_101/french_fries/660608.jpg
inflating: __MACOSX/Food_101/french_fries/._660608.jpg
inflating: Food_101/french_fries/2512097.jpg
inflating: __MACOSX/Food_101/french_fries/._2512097.jpg
inflating: Food_101/french_fries/3701352.jpg
inflating: __MACOSX/Food_101/french_fries/._3701352.jpg
inflating: Food_101/french_fries/3698017.jpg
inflating: __MACOSX/Food_101/french_fries/._3698017.jpg
inflating: Food_101/french_fries/2229500.jpg
inflating: __MACOSX/Food_101/french_fries/._2229500.jpg
inflating: Food_101/french_fries/2819952.jpg
inflating: __MACOSX/Food_101/french_fries/._2819952.jpg
inflating: Food_101/french_fries/2528860.jpg
inflating: __MACOSX/Food_101/french_fries/._2528860.jpg
inflating: Food_101/french_fries/20215.jpg
inflating: __MACOSX/Food_101/french_fries/._20215.jpg
inflating: Food_101/french_fries/2788461.jpg
inflating: __MACOSX/Food_101/french_fries/._2788461.jpg
inflating: Food_101/french_fries/3499831.jpg
inflating: __MACOSX/Food_101/french_fries/._3499831.jpg
inflating: Food_101/french_fries/375233.jpg
inflating: __MACOSX/Food_101/french_fries/._375233.jpg
inflating: Food_101/french_fries/3495789.jpg
inflating: __MACOSX/Food_101/french_fries/._3495789.jpg
inflating: Food_101/french_fries/3274074.jpg
inflating: __MACOSX/Food_101/french_fries/._3274074.jpg
inflating: Food_101/french_fries/1787214.jpg
inflating: __MACOSX/Food_101/french_fries/._1787214.jpg
inflating: Food_101/french_fries/467491.jpg
inflating: __MACOSX/Food_101/french_fries/._467491.jpg
inflating: Food_101/french_fries/3416327.jpg
inflating: __MACOSX/Food_101/french_fries/._3416327.jpg
inflating: Food_101/french_fries/387064.jpg
inflating: __MACOSX/Food_101/french_fries/._387064.jpg
inflating: Food_101/french_fries/3190389.jpg
inflating: __MACOSX/Food_101/french_fries/._3190389.jpg
inflating: Food_101/french_fries/10897.jpg
inflating: __MACOSX/Food_101/french_fries/._10897.jpg
inflating: Food_101/french_fries/760811.jpg
inflating: __MACOSX/Food_101/french_fries/._760811.jpg
inflating: Food_101/french_fries/3030315.jpg
inflating: __MACOSX/Food_101/french_fries/._3030315.jpg
inflating: Food_101/french_fries/591139.jpg
inflating: __MACOSX/Food_101/french_fries/._591139.jpg
inflating: Food_101/french_fries/1637064.jpg
inflating: __MACOSX/Food_101/french_fries/._1637064.jpg
inflating: Food_101/french_fries/1361604.jpg
inflating: __MACOSX/Food_101/french_fries/._1361604.jpg
inflating: Food_101/french_fries/3700106.jpg
inflating: __MACOSX/Food_101/french_fries/._3700106.jpg
inflating: Food_101/french_fries/1724805.jpg
inflating: __MACOSX/Food_101/french_fries/._1724805.jpg
inflating: Food_101/french_fries/3311203.jpg
inflating: __MACOSX/Food_101/french_fries/._3311203.jpg
inflating: Food_101/french_fries/2275484.jpg
inflating: __MACOSX/Food_101/french_fries/._2275484.jpg
inflating: Food_101/french_fries/2510721.jpg
inflating: __MACOSX/Food_101/french_fries/._2510721.jpg
inflating: Food_101/french_fries/2606474.jpg
inflating: __MACOSX/Food_101/french_fries/._2606474.jpg
inflating: Food_101/french_fries/2008616.jpg
inflating: __MACOSX/Food_101/french_fries/._2008616.jpg
inflating: Food_101/french_fries/3337777.jpg
inflating: __MACOSX/Food_101/french_fries/._3337777.jpg
inflating: Food_101/french_fries/3276703.jpg
inflating: __MACOSX/Food_101/french_fries/._3276703.jpg
inflating: Food_101/french_fries/1376608.jpg
inflating: __MACOSX/Food_101/french_fries/._1376608.jpg
inflating: Food_101/french_fries/771459.jpg
inflating: __MACOSX/Food_101/french_fries/._771459.jpg
inflating: Food_101/french_fries/2062357.jpg
inflating: __MACOSX/Food_101/french_fries/._2062357.jpg
inflating: Food_101/french_fries/3447747.jpg
inflating: __MACOSX/Food_101/french_fries/._3447747.jpg
inflating: Food_101/french_fries/3669402.jpg
inflating: __MACOSX/Food_101/french_fries/._3669402.jpg
inflating: Food_101/french_fries/191085.jpg
inflating: __MACOSX/Food_101/french_fries/._191085.jpg
inflating: Food_101/french_fries/461181.jpg
inflating: __MACOSX/Food_101/french_fries/._461181.jpg
inflating: Food_101/french_fries/2485920.jpg
inflating: __MACOSX/Food_101/french_fries/._2485920.jpg
inflating: Food_101/french_fries/2497101.jpg
inflating: __MACOSX/Food_101/french_fries/._2497101.jpg
inflating: Food_101/french_fries/3614614.jpg
inflating: __MACOSX/Food_101/french_fries/._3614614.jpg
inflating: Food_101/french_fries/3223529.jpg
inflating: __MACOSX/Food_101/french_fries/._3223529.jpg
inflating: Food_101/french_fries/80315.jpg
inflating: __MACOSX/Food_101/french_fries/._80315.jpg
inflating: Food_101/french_fries/3317868.jpg
inflating: __MACOSX/Food_101/french_fries/._3317868.jpg
inflating: Food_101/french_fries/1241462.jpg
inflating: __MACOSX/Food_101/french_fries/._1241462.jpg
inflating: Food_101/french_fries/1667108.jpg
inflating: __MACOSX/Food_101/french_fries/._1667108.jpg
inflating: Food_101/french_fries/2624207.jpg
inflating: __MACOSX/Food_101/french_fries/._2624207.jpg
inflating: Food_101/french_fries/1190903.jpg
inflating: __MACOSX/Food_101/french_fries/._1190903.jpg
inflating: Food_101/french_fries/1793704.jpg
inflating: __MACOSX/Food_101/french_fries/._1793704.jpg
inflating: Food_101/french_fries/2699989.jpg
inflating: __MACOSX/Food_101/french_fries/._2699989.jpg
inflating: Food_101/french_fries/2634202.jpg
inflating: __MACOSX/Food_101/french_fries/._2634202.jpg
inflating: Food_101/french_fries/244006.jpg
inflating: __MACOSX/Food_101/french_fries/._244006.jpg
inflating: Food_101/french_fries/2355379.jpg
inflating: __MACOSX/Food_101/french_fries/._2355379.jpg
inflating: Food_101/french_fries/2093557.jpg
inflating: __MACOSX/Food_101/french_fries/._2093557.jpg
inflating: Food_101/french_fries/2224231.jpg
inflating: __MACOSX/Food_101/french_fries/._2224231.jpg
inflating: Food_101/french_fries/999328.jpg
inflating: __MACOSX/Food_101/french_fries/._999328.jpg
inflating: Food_101/french_fries/907716.jpg
inflating: __MACOSX/Food_101/french_fries/._907716.jpg
inflating: Food_101/french_fries/3030853.jpg
inflating: __MACOSX/Food_101/french_fries/._3030853.jpg
inflating: Food_101/french_fries/1099260.jpg
inflating: __MACOSX/Food_101/french_fries/._1099260.jpg
inflating: Food_101/french_fries/2476066.jpg
inflating: __MACOSX/Food_101/french_fries/._2476066.jpg
inflating: Food_101/french_fries/3152740.jpg
inflating: __MACOSX/Food_101/french_fries/._3152740.jpg
inflating: Food_101/french_fries/2413615.jpg
inflating: __MACOSX/Food_101/french_fries/._2413615.jpg
inflating: Food_101/french_fries/331674.jpg
inflating: __MACOSX/Food_101/french_fries/._331674.jpg
inflating: Food_101/french_fries/966854.jpg
inflating: __MACOSX/Food_101/french_fries/._966854.jpg
inflating: Food_101/french_fries/1345833.jpg
inflating: __MACOSX/Food_101/french_fries/._1345833.jpg
inflating: Food_101/french_fries/535675.jpg
inflating: __MACOSX/Food_101/french_fries/._535675.jpg
inflating: Food_101/french_fries/1439792.jpg
inflating: __MACOSX/Food_101/french_fries/._1439792.jpg
inflating: Food_101/french_fries/2213664.jpg
inflating: __MACOSX/Food_101/french_fries/._2213664.jpg
inflating: Food_101/french_fries/3447353.jpg
inflating: __MACOSX/Food_101/french_fries/._3447353.jpg
inflating: Food_101/french_fries/626896.jpg
inflating: __MACOSX/Food_101/french_fries/._626896.jpg
inflating: Food_101/french_fries/2498356.jpg
inflating: __MACOSX/Food_101/french_fries/._2498356.jpg
inflating: Food_101/french_fries/2106366.jpg
inflating: __MACOSX/Food_101/french_fries/._2106366.jpg
inflating: Food_101/french_fries/3500811.jpg
inflating: __MACOSX/Food_101/french_fries/._3500811.jpg
inflating: Food_101/french_fries/3524964.jpg
inflating: __MACOSX/Food_101/french_fries/._3524964.jpg
inflating: Food_101/french_fries/3025133.jpg
inflating: __MACOSX/Food_101/french_fries/._3025133.jpg
inflating: Food_101/french_fries/3081685.jpg
inflating: __MACOSX/Food_101/french_fries/._3081685.jpg
inflating: Food_101/french_fries/2808737.jpg
inflating: __MACOSX/Food_101/french_fries/._2808737.jpg
inflating: Food_101/french_fries/10500.jpg
inflating: __MACOSX/Food_101/french_fries/._10500.jpg
inflating: Food_101/french_fries/911982.jpg
inflating: __MACOSX/Food_101/french_fries/._911982.jpg
inflating: Food_101/french_fries/2737860.jpg
inflating: __MACOSX/Food_101/french_fries/._2737860.jpg
inflating: Food_101/french_fries/2200585.jpg
inflating: __MACOSX/Food_101/french_fries/._2200585.jpg
inflating: Food_101/french_fries/2303073.jpg
inflating: __MACOSX/Food_101/french_fries/._2303073.jpg
inflating: Food_101/french_fries/1343675.jpg
inflating: __MACOSX/Food_101/french_fries/._1343675.jpg
inflating: Food_101/french_fries/2580653.jpg
inflating: __MACOSX/Food_101/french_fries/._2580653.jpg
inflating: Food_101/french_fries/3626463.jpg
inflating: __MACOSX/Food_101/french_fries/._3626463.jpg
inflating: Food_101/french_fries/3516519.jpg
inflating: __MACOSX/Food_101/french_fries/._3516519.jpg
inflating: Food_101/french_fries/3210333.jpg
inflating: __MACOSX/Food_101/french_fries/._3210333.jpg
inflating: Food_101/french_fries/353437.jpg
inflating: __MACOSX/Food_101/french_fries/._353437.jpg
inflating: Food_101/french_fries/1099329.jpg
inflating: __MACOSX/Food_101/french_fries/._1099329.jpg
inflating: Food_101/french_fries/2705623.jpg
inflating: __MACOSX/Food_101/french_fries/._2705623.jpg
inflating: Food_101/french_fries/3600843.jpg
inflating: __MACOSX/Food_101/french_fries/._3600843.jpg
inflating: Food_101/french_fries/411113.jpg
inflating: __MACOSX/Food_101/french_fries/._411113.jpg
inflating: Food_101/french_fries/3450772.jpg
inflating: __MACOSX/Food_101/french_fries/._3450772.jpg
inflating: Food_101/french_fries/1387352.jpg
inflating: __MACOSX/Food_101/french_fries/._1387352.jpg
inflating: Food_101/french_fries/547396.jpg
inflating: __MACOSX/Food_101/french_fries/._547396.jpg
inflating: Food_101/french_fries/610504.jpg
inflating: __MACOSX/Food_101/french_fries/._610504.jpg
inflating: Food_101/french_fries/2700217.jpg
inflating: __MACOSX/Food_101/french_fries/._2700217.jpg
inflating: Food_101/french_fries/1787600.jpg
inflating: __MACOSX/Food_101/french_fries/._1787600.jpg
inflating: Food_101/french_fries/3131190.jpg
inflating: __MACOSX/Food_101/french_fries/._3131190.jpg
inflating: Food_101/french_fries/2350833.jpg
inflating: __MACOSX/Food_101/french_fries/._2350833.jpg
inflating: Food_101/french_fries/2530422.jpg
inflating: __MACOSX/Food_101/french_fries/._2530422.jpg
inflating: Food_101/french_fries/1131104.jpg
inflating: __MACOSX/Food_101/french_fries/._1131104.jpg
inflating: Food_101/french_fries/2941901.jpg
inflating: __MACOSX/Food_101/french_fries/._2941901.jpg
inflating: Food_101/french_fries/2011974.jpg
inflating: __MACOSX/Food_101/french_fries/._2011974.jpg
inflating: Food_101/french_fries/783581.jpg
inflating: __MACOSX/Food_101/french_fries/._783581.jpg
inflating: Food_101/french_fries/1785605.jpg
inflating: __MACOSX/Food_101/french_fries/._1785605.jpg
inflating: Food_101/french_fries/3854016.jpg
inflating: __MACOSX/Food_101/french_fries/._3854016.jpg
inflating: Food_101/french_fries/1998271.jpg
inflating: __MACOSX/Food_101/french_fries/._1998271.jpg
inflating: Food_101/french_fries/2001959.jpg
inflating: __MACOSX/Food_101/french_fries/._2001959.jpg
inflating: Food_101/french_fries/1347228.jpg
inflating: __MACOSX/Food_101/french_fries/._1347228.jpg
inflating: Food_101/french_fries/1519669.jpg
inflating: __MACOSX/Food_101/french_fries/._1519669.jpg
inflating: Food_101/french_fries/565296.jpg
inflating: __MACOSX/Food_101/french_fries/._565296.jpg
inflating: Food_101/french_fries/2099094.jpg
inflating: __MACOSX/Food_101/french_fries/._2099094.jpg
inflating: Food_101/french_fries/2313315.jpg
inflating: __MACOSX/Food_101/french_fries/._2313315.jpg
inflating: Food_101/french_fries/3621286.jpg
inflating: __MACOSX/Food_101/french_fries/._3621286.jpg
inflating: Food_101/french_fries/1369116.jpg
inflating: __MACOSX/Food_101/french_fries/._1369116.jpg
inflating: Food_101/french_fries/100148.jpg
inflating: __MACOSX/Food_101/french_fries/._100148.jpg
inflating: Food_101/french_fries/1165966.jpg
inflating: __MACOSX/Food_101/french_fries/._1165966.jpg
inflating: Food_101/french_fries/465519.jpg
inflating: __MACOSX/Food_101/french_fries/._465519.jpg
inflating: Food_101/french_fries/2721807.jpg
inflating: __MACOSX/Food_101/french_fries/._2721807.jpg
inflating: Food_101/french_fries/756143.jpg
inflating: __MACOSX/Food_101/french_fries/._756143.jpg
inflating: Food_101/french_fries/670184.jpg
inflating: __MACOSX/Food_101/french_fries/._670184.jpg
inflating: Food_101/french_fries/2759016.jpg
inflating: __MACOSX/Food_101/french_fries/._2759016.jpg
inflating: Food_101/french_fries/2126499.jpg
inflating: __MACOSX/Food_101/french_fries/._2126499.jpg
inflating: Food_101/french_fries/3566836.jpg
inflating: __MACOSX/Food_101/french_fries/._3566836.jpg
inflating: Food_101/french_fries/697086.jpg
inflating: __MACOSX/Food_101/french_fries/._697086.jpg
inflating: Food_101/french_fries/3627636.jpg
inflating: __MACOSX/Food_101/french_fries/._3627636.jpg
inflating: Food_101/french_fries/3447608.jpg
inflating: __MACOSX/Food_101/french_fries/._3447608.jpg
inflating: Food_101/french_fries/2503834.jpg
inflating: __MACOSX/Food_101/french_fries/._2503834.jpg
inflating: Food_101/french_fries/1089500.jpg
inflating: __MACOSX/Food_101/french_fries/._1089500.jpg
inflating: Food_101/french_fries/303809.jpg
inflating: __MACOSX/Food_101/french_fries/._303809.jpg
inflating: Food_101/french_fries/1692353.jpg
inflating: __MACOSX/Food_101/french_fries/._1692353.jpg
inflating: Food_101/french_fries/411918.jpg
inflating: __MACOSX/Food_101/french_fries/._411918.jpg
inflating: Food_101/french_fries/1810007.jpg
inflating: __MACOSX/Food_101/french_fries/._1810007.jpg
inflating: Food_101/french_fries/622359.jpg
inflating: __MACOSX/Food_101/french_fries/._622359.jpg
inflating: Food_101/french_fries/2371960.jpg
inflating: __MACOSX/Food_101/french_fries/._2371960.jpg
inflating: Food_101/french_fries/2093949.jpg
inflating: __MACOSX/Food_101/french_fries/._2093949.jpg
inflating: Food_101/french_fries/1049122.jpg
inflating: __MACOSX/Food_101/french_fries/._1049122.jpg
inflating: Food_101/french_fries/2788061.jpg
inflating: __MACOSX/Food_101/french_fries/._2788061.jpg
inflating: Food_101/french_fries/2479034.jpg
inflating: __MACOSX/Food_101/french_fries/._2479034.jpg
inflating: Food_101/french_fries/1071481.jpg
inflating: __MACOSX/Food_101/french_fries/._1071481.jpg
inflating: Food_101/french_fries/145012.jpg
inflating: __MACOSX/Food_101/french_fries/._145012.jpg
inflating: Food_101/french_fries/439892.jpg
inflating: __MACOSX/Food_101/french_fries/._439892.jpg
inflating: Food_101/french_fries/1370900.jpg
inflating: __MACOSX/Food_101/french_fries/._1370900.jpg
inflating: Food_101/french_fries/3225836.jpg
inflating: __MACOSX/Food_101/french_fries/._3225836.jpg
inflating: Food_101/french_fries/2048963.jpg
inflating: __MACOSX/Food_101/french_fries/._2048963.jpg
inflating: Food_101/french_fries/1970888.jpg
inflating: __MACOSX/Food_101/french_fries/._1970888.jpg
inflating: Food_101/french_fries/1150103.jpg
inflating: __MACOSX/Food_101/french_fries/._1150103.jpg
inflating: Food_101/french_fries/2631590.jpg
inflating: __MACOSX/Food_101/french_fries/._2631590.jpg
inflating: Food_101/french_fries/3714377.jpg
inflating: __MACOSX/Food_101/french_fries/._3714377.jpg
inflating: Food_101/french_fries/1647142.jpg
inflating: __MACOSX/Food_101/french_fries/._1647142.jpg
inflating: Food_101/french_fries/3184259.jpg
inflating: __MACOSX/Food_101/french_fries/._3184259.jpg
inflating: Food_101/french_fries/87125.jpg
inflating: __MACOSX/Food_101/french_fries/._87125.jpg
inflating: Food_101/french_fries/2986125.jpg
inflating: __MACOSX/Food_101/french_fries/._2986125.jpg
inflating: Food_101/french_fries/2573727.jpg
inflating: __MACOSX/Food_101/french_fries/._2573727.jpg
inflating: Food_101/french_fries/2792575.jpg
inflating: __MACOSX/Food_101/french_fries/._2792575.jpg
inflating: Food_101/french_fries/2307202.jpg
inflating: __MACOSX/Food_101/french_fries/._2307202.jpg
inflating: Food_101/french_fries/2773760.jpg
inflating: __MACOSX/Food_101/french_fries/._2773760.jpg
inflating: Food_101/french_fries/1772112.jpg
inflating: __MACOSX/Food_101/french_fries/._1772112.jpg
inflating: Food_101/french_fries/2212633.jpg
inflating: __MACOSX/Food_101/french_fries/._2212633.jpg
inflating: Food_101/french_fries/3185191.jpg
inflating: __MACOSX/Food_101/french_fries/._3185191.jpg
inflating: Food_101/french_fries/557390.jpg
inflating: __MACOSX/Food_101/french_fries/._557390.jpg
inflating: Food_101/french_fries/3141886.jpg
inflating: __MACOSX/Food_101/french_fries/._3141886.jpg
inflating: Food_101/french_fries/1085071.jpg
inflating: __MACOSX/Food_101/french_fries/._1085071.jpg
inflating: Food_101/french_fries/3711232.jpg
inflating: __MACOSX/Food_101/french_fries/._3711232.jpg
inflating: Food_101/french_fries/2892637.jpg
inflating: __MACOSX/Food_101/french_fries/._2892637.jpg
inflating: Food_101/french_fries/2916251.jpg
inflating: __MACOSX/Food_101/french_fries/._2916251.jpg
inflating: Food_101/french_fries/2941321.jpg
inflating: __MACOSX/Food_101/french_fries/._2941321.jpg
inflating: Food_101/french_fries/223676.jpg
inflating: __MACOSX/Food_101/french_fries/._223676.jpg
inflating: Food_101/french_fries/80887.jpg
inflating: __MACOSX/Food_101/french_fries/._80887.jpg
inflating: Food_101/french_fries/2361623.jpg
inflating: __MACOSX/Food_101/french_fries/._2361623.jpg
inflating: Food_101/french_fries/2522964.jpg
inflating: __MACOSX/Food_101/french_fries/._2522964.jpg
inflating: Food_101/french_fries/2601877.jpg
inflating: __MACOSX/Food_101/french_fries/._2601877.jpg
inflating: Food_101/french_fries/714775.jpg
inflating: __MACOSX/Food_101/french_fries/._714775.jpg
inflating: Food_101/french_fries/1813453.jpg
inflating: __MACOSX/Food_101/french_fries/._1813453.jpg
inflating: Food_101/french_fries/3674858.jpg
inflating: __MACOSX/Food_101/french_fries/._3674858.jpg
inflating: Food_101/french_fries/421038.jpg
inflating: __MACOSX/Food_101/french_fries/._421038.jpg
inflating: Food_101/french_fries/1639700.jpg
inflating: __MACOSX/Food_101/french_fries/._1639700.jpg
inflating: Food_101/french_fries/3579283.jpg
inflating: __MACOSX/Food_101/french_fries/._3579283.jpg
inflating: Food_101/french_fries/2624567.jpg
inflating: __MACOSX/Food_101/french_fries/._2624567.jpg
inflating: Food_101/french_fries/2957806.jpg
inflating: __MACOSX/Food_101/french_fries/._2957806.jpg
inflating: Food_101/french_fries/1192860.jpg
inflating: __MACOSX/Food_101/french_fries/._1192860.jpg
inflating: Food_101/french_fries/2641499.jpg
inflating: __MACOSX/Food_101/french_fries/._2641499.jpg
inflating: Food_101/french_fries/1126453.jpg
inflating: __MACOSX/Food_101/french_fries/._1126453.jpg
inflating: Food_101/french_fries/852271.jpg
inflating: __MACOSX/Food_101/french_fries/._852271.jpg
inflating: Food_101/french_fries/575247.jpg
inflating: __MACOSX/Food_101/french_fries/._575247.jpg
inflating: Food_101/french_fries/2856271.jpg
inflating: __MACOSX/Food_101/french_fries/._2856271.jpg
inflating: Food_101/french_fries/361733.jpg
inflating: __MACOSX/Food_101/french_fries/._361733.jpg
inflating: Food_101/french_fries/2082676.jpg
inflating: __MACOSX/Food_101/french_fries/._2082676.jpg
inflating: Food_101/french_fries/823649.jpg
inflating: __MACOSX/Food_101/french_fries/._823649.jpg
inflating: Food_101/french_fries/502232.jpg
inflating: __MACOSX/Food_101/french_fries/._502232.jpg
inflating: Food_101/french_fries/2910032.jpg
inflating: __MACOSX/Food_101/french_fries/._2910032.jpg
inflating: Food_101/french_fries/1438129.jpg
inflating: __MACOSX/Food_101/french_fries/._1438129.jpg
inflating: Food_101/french_fries/265743.jpg
inflating: __MACOSX/Food_101/french_fries/._265743.jpg
inflating: Food_101/french_fries/3919465.jpg
inflating: __MACOSX/Food_101/french_fries/._3919465.jpg
inflating: Food_101/onion_rings/3378644.jpg
inflating: __MACOSX/Food_101/onion_rings/._3378644.jpg
inflating: Food_101/onion_rings/2854133.jpg
inflating: __MACOSX/Food_101/onion_rings/._2854133.jpg
inflating: Food_101/onion_rings/3799671.jpg
inflating: __MACOSX/Food_101/onion_rings/._3799671.jpg
inflating: Food_101/onion_rings/682478.jpg
inflating: __MACOSX/Food_101/onion_rings/._682478.jpg
inflating: Food_101/onion_rings/408921.jpg
inflating: __MACOSX/Food_101/onion_rings/._408921.jpg
inflating: Food_101/onion_rings/3731702.jpg
inflating: __MACOSX/Food_101/onion_rings/._3731702.jpg
inflating: Food_101/onion_rings/807916.jpg
inflating: __MACOSX/Food_101/onion_rings/._807916.jpg
inflating: Food_101/onion_rings/1821017.jpg
inflating: __MACOSX/Food_101/onion_rings/._1821017.jpg
inflating: Food_101/onion_rings/1490057.jpg
inflating: __MACOSX/Food_101/onion_rings/._1490057.jpg
inflating: Food_101/onion_rings/3817653.jpg
inflating: __MACOSX/Food_101/onion_rings/._3817653.jpg
inflating: Food_101/onion_rings/15729.jpg
inflating: __MACOSX/Food_101/onion_rings/._15729.jpg
inflating: Food_101/onion_rings/3445577.jpg
inflating: __MACOSX/Food_101/onion_rings/._3445577.jpg
inflating: Food_101/onion_rings/3589784.jpg
inflating: __MACOSX/Food_101/onion_rings/._3589784.jpg
inflating: Food_101/onion_rings/3889319.jpg
inflating: __MACOSX/Food_101/onion_rings/._3889319.jpg
inflating: Food_101/onion_rings/2996892.jpg
inflating: __MACOSX/Food_101/onion_rings/._2996892.jpg
inflating: Food_101/onion_rings/3702727.jpg
inflating: __MACOSX/Food_101/onion_rings/._3702727.jpg
inflating: Food_101/onion_rings/3519426.jpg
inflating: __MACOSX/Food_101/onion_rings/._3519426.jpg
inflating: Food_101/onion_rings/2002682.jpg
inflating: __MACOSX/Food_101/onion_rings/._2002682.jpg
inflating: Food_101/onion_rings/2620678.jpg
inflating: __MACOSX/Food_101/onion_rings/._2620678.jpg
inflating: Food_101/onion_rings/1538044.jpg
inflating: __MACOSX/Food_101/onion_rings/._1538044.jpg
inflating: Food_101/onion_rings/3090546.jpg
inflating: __MACOSX/Food_101/onion_rings/._3090546.jpg
inflating: Food_101/onion_rings/2365312.jpg
inflating: __MACOSX/Food_101/onion_rings/._2365312.jpg
inflating: Food_101/onion_rings/1731782.jpg
inflating: __MACOSX/Food_101/onion_rings/._1731782.jpg
inflating: Food_101/onion_rings/1055739.jpg
inflating: __MACOSX/Food_101/onion_rings/._1055739.jpg
inflating: Food_101/onion_rings/3377359.jpg
inflating: __MACOSX/Food_101/onion_rings/._3377359.jpg
inflating: Food_101/onion_rings/296017.jpg
inflating: __MACOSX/Food_101/onion_rings/._296017.jpg
inflating: Food_101/onion_rings/3489223.jpg
inflating: __MACOSX/Food_101/onion_rings/._3489223.jpg
inflating: Food_101/onion_rings/2340179.jpg
inflating: __MACOSX/Food_101/onion_rings/._2340179.jpg
inflating: Food_101/onion_rings/2978547.jpg
inflating: __MACOSX/Food_101/onion_rings/._2978547.jpg
inflating: Food_101/onion_rings/3401042.jpg
inflating: __MACOSX/Food_101/onion_rings/._3401042.jpg
inflating: Food_101/onion_rings/1393102.jpg
inflating: __MACOSX/Food_101/onion_rings/._1393102.jpg
inflating: Food_101/onion_rings/3678511.jpg
inflating: __MACOSX/Food_101/onion_rings/._3678511.jpg
inflating: Food_101/onion_rings/2405657.jpg
inflating: __MACOSX/Food_101/onion_rings/._2405657.jpg
inflating: Food_101/onion_rings/772167.jpg
inflating: __MACOSX/Food_101/onion_rings/._772167.jpg
inflating: Food_101/onion_rings/488932.jpg
inflating: __MACOSX/Food_101/onion_rings/._488932.jpg
inflating: Food_101/onion_rings/51208.jpg
inflating: __MACOSX/Food_101/onion_rings/._51208.jpg
inflating: Food_101/onion_rings/890921.jpg
inflating: __MACOSX/Food_101/onion_rings/._890921.jpg
inflating: Food_101/onion_rings/726720.jpg
inflating: __MACOSX/Food_101/onion_rings/._726720.jpg
inflating: Food_101/onion_rings/1830523.jpg
inflating: __MACOSX/Food_101/onion_rings/._1830523.jpg
inflating: Food_101/onion_rings/3773120.jpg
inflating: __MACOSX/Food_101/onion_rings/._3773120.jpg
inflating: Food_101/onion_rings/3347072.jpg
inflating: __MACOSX/Food_101/onion_rings/._3347072.jpg
inflating: Food_101/onion_rings/3262231.jpg
inflating: __MACOSX/Food_101/onion_rings/._3262231.jpg
inflating: Food_101/onion_rings/2130180.jpg
inflating: __MACOSX/Food_101/onion_rings/._2130180.jpg
inflating: Food_101/onion_rings/192753.jpg
inflating: __MACOSX/Food_101/onion_rings/._192753.jpg
inflating: Food_101/onion_rings/2003210.jpg
inflating: __MACOSX/Food_101/onion_rings/._2003210.jpg
inflating: Food_101/onion_rings/1442306.jpg
inflating: __MACOSX/Food_101/onion_rings/._1442306.jpg
inflating: Food_101/onion_rings/1557079.jpg
inflating: __MACOSX/Food_101/onion_rings/._1557079.jpg
inflating: Food_101/onion_rings/3156919.jpg
inflating: __MACOSX/Food_101/onion_rings/._3156919.jpg
inflating: Food_101/onion_rings/3072663.jpg
inflating: __MACOSX/Food_101/onion_rings/._3072663.jpg
inflating: Food_101/onion_rings/2354535.jpg
inflating: __MACOSX/Food_101/onion_rings/._2354535.jpg
inflating: Food_101/onion_rings/1172783.jpg
inflating: __MACOSX/Food_101/onion_rings/._1172783.jpg
inflating: Food_101/onion_rings/915122.jpg
inflating: __MACOSX/Food_101/onion_rings/._915122.jpg
inflating: Food_101/onion_rings/2689560.jpg
inflating: __MACOSX/Food_101/onion_rings/._2689560.jpg
inflating: Food_101/onion_rings/814572.jpg
inflating: __MACOSX/Food_101/onion_rings/._814572.jpg
inflating: Food_101/onion_rings/416511.jpg
inflating: __MACOSX/Food_101/onion_rings/._416511.jpg
inflating: Food_101/onion_rings/1154585.jpg
inflating: __MACOSX/Food_101/onion_rings/._1154585.jpg
inflating: Food_101/onion_rings/897492.jpg
inflating: __MACOSX/Food_101/onion_rings/._897492.jpg
inflating: Food_101/onion_rings/836506.jpg
inflating: __MACOSX/Food_101/onion_rings/._836506.jpg
inflating: Food_101/onion_rings/1367875.jpg
inflating: __MACOSX/Food_101/onion_rings/._1367875.jpg
inflating: Food_101/onion_rings/2032387.jpg
inflating: __MACOSX/Food_101/onion_rings/._2032387.jpg
inflating: Food_101/onion_rings/1404192.jpg
inflating: __MACOSX/Food_101/onion_rings/._1404192.jpg
inflating: Food_101/onion_rings/3578344.jpg
inflating: __MACOSX/Food_101/onion_rings/._3578344.jpg
inflating: Food_101/onion_rings/1152123.jpg
inflating: __MACOSX/Food_101/onion_rings/._1152123.jpg
inflating: Food_101/onion_rings/3571374.jpg
inflating: __MACOSX/Food_101/onion_rings/._3571374.jpg
inflating: Food_101/onion_rings/2828589.jpg
inflating: __MACOSX/Food_101/onion_rings/._2828589.jpg
inflating: Food_101/onion_rings/525124.jpg
inflating: __MACOSX/Food_101/onion_rings/._525124.jpg
inflating: Food_101/onion_rings/3259845.jpg
inflating: __MACOSX/Food_101/onion_rings/._3259845.jpg
inflating: Food_101/onion_rings/3313958.jpg
inflating: __MACOSX/Food_101/onion_rings/._3313958.jpg
inflating: Food_101/onion_rings/2287586.jpg
inflating: __MACOSX/Food_101/onion_rings/._2287586.jpg
inflating: Food_101/onion_rings/2134079.jpg
inflating: __MACOSX/Food_101/onion_rings/._2134079.jpg
inflating: Food_101/onion_rings/228842.jpg
inflating: __MACOSX/Food_101/onion_rings/._228842.jpg
inflating: Food_101/onion_rings/3355702.jpg
inflating: __MACOSX/Food_101/onion_rings/._3355702.jpg
inflating: Food_101/onion_rings/2574696.jpg
inflating: __MACOSX/Food_101/onion_rings/._2574696.jpg
inflating: Food_101/onion_rings/2875101.jpg
inflating: __MACOSX/Food_101/onion_rings/._2875101.jpg
inflating: Food_101/onion_rings/2505709.jpg
inflating: __MACOSX/Food_101/onion_rings/._2505709.jpg
inflating: Food_101/onion_rings/414304.jpg
inflating: __MACOSX/Food_101/onion_rings/._414304.jpg
inflating: Food_101/onion_rings/1128896.jpg
inflating: __MACOSX/Food_101/onion_rings/._1128896.jpg
inflating: Food_101/onion_rings/3857923.jpg
inflating: __MACOSX/Food_101/onion_rings/._3857923.jpg
inflating: Food_101/onion_rings/469884.jpg
inflating: __MACOSX/Food_101/onion_rings/._469884.jpg
inflating: Food_101/onion_rings/1191354.jpg
inflating: __MACOSX/Food_101/onion_rings/._1191354.jpg
inflating: Food_101/onion_rings/933681.jpg
inflating: __MACOSX/Food_101/onion_rings/._933681.jpg
inflating: Food_101/onion_rings/2549073.jpg
inflating: __MACOSX/Food_101/onion_rings/._2549073.jpg
inflating: Food_101/onion_rings/2171690.jpg
inflating: __MACOSX/Food_101/onion_rings/._2171690.jpg
inflating: Food_101/onion_rings/1703531.jpg
inflating: __MACOSX/Food_101/onion_rings/._1703531.jpg
inflating: Food_101/onion_rings/987244.jpg
inflating: __MACOSX/Food_101/onion_rings/._987244.jpg
inflating: Food_101/onion_rings/998402.jpg
inflating: __MACOSX/Food_101/onion_rings/._998402.jpg
inflating: Food_101/onion_rings/2767281.jpg
inflating: __MACOSX/Food_101/onion_rings/._2767281.jpg
inflating: Food_101/onion_rings/3734296.jpg
inflating: __MACOSX/Food_101/onion_rings/._3734296.jpg
inflating: Food_101/onion_rings/1922125.jpg
inflating: __MACOSX/Food_101/onion_rings/._1922125.jpg
inflating: Food_101/onion_rings/951366.jpg
inflating: __MACOSX/Food_101/onion_rings/._951366.jpg
inflating: Food_101/onion_rings/231254.jpg
inflating: __MACOSX/Food_101/onion_rings/._231254.jpg
inflating: Food_101/onion_rings/2099106.jpg
inflating: __MACOSX/Food_101/onion_rings/._2099106.jpg
inflating: Food_101/onion_rings/2868795.jpg
inflating: __MACOSX/Food_101/onion_rings/._2868795.jpg
inflating: Food_101/onion_rings/3401040.jpg
inflating: __MACOSX/Food_101/onion_rings/._3401040.jpg
inflating: Food_101/onion_rings/1199480.jpg
inflating: __MACOSX/Food_101/onion_rings/._1199480.jpg
inflating: Food_101/onion_rings/1176121.jpg
inflating: __MACOSX/Food_101/onion_rings/._1176121.jpg
inflating: Food_101/onion_rings/505368.jpg
inflating: __MACOSX/Food_101/onion_rings/._505368.jpg
inflating: Food_101/onion_rings/2442523.jpg
inflating: __MACOSX/Food_101/onion_rings/._2442523.jpg
inflating: Food_101/onion_rings/3163341.jpg
inflating: __MACOSX/Food_101/onion_rings/._3163341.jpg
inflating: Food_101/onion_rings/185748.jpg
inflating: __MACOSX/Food_101/onion_rings/._185748.jpg
inflating: Food_101/onion_rings/3575703.jpg
inflating: __MACOSX/Food_101/onion_rings/._3575703.jpg
inflating: Food_101/onion_rings/2384844.jpg
inflating: __MACOSX/Food_101/onion_rings/._2384844.jpg
inflating: Food_101/onion_rings/2989230.jpg
inflating: __MACOSX/Food_101/onion_rings/._2989230.jpg
inflating: Food_101/onion_rings/1902747.jpg
inflating: __MACOSX/Food_101/onion_rings/._1902747.jpg
inflating: Food_101/onion_rings/1121509.jpg
inflating: __MACOSX/Food_101/onion_rings/._1121509.jpg
inflating: Food_101/onion_rings/2708848.jpg
inflating: __MACOSX/Food_101/onion_rings/._2708848.jpg
inflating: Food_101/onion_rings/3364870.jpg
inflating: __MACOSX/Food_101/onion_rings/._3364870.jpg
inflating: Food_101/onion_rings/2126078.jpg
inflating: __MACOSX/Food_101/onion_rings/._2126078.jpg
inflating: Food_101/onion_rings/3894389.jpg
inflating: __MACOSX/Food_101/onion_rings/._3894389.jpg
inflating: Food_101/onion_rings/2071875.jpg
inflating: __MACOSX/Food_101/onion_rings/._2071875.jpg
inflating: Food_101/onion_rings/2808504.jpg
inflating: __MACOSX/Food_101/onion_rings/._2808504.jpg
inflating: Food_101/onion_rings/3244593.jpg
inflating: __MACOSX/Food_101/onion_rings/._3244593.jpg
inflating: Food_101/onion_rings/1683330.jpg
inflating: __MACOSX/Food_101/onion_rings/._1683330.jpg
inflating: Food_101/onion_rings/1796073.jpg
inflating: __MACOSX/Food_101/onion_rings/._1796073.jpg
inflating: Food_101/onion_rings/1088002.jpg
inflating: __MACOSX/Food_101/onion_rings/._1088002.jpg
inflating: Food_101/onion_rings/3772598.jpg
inflating: __MACOSX/Food_101/onion_rings/._3772598.jpg
inflating: Food_101/onion_rings/849689.jpg
inflating: __MACOSX/Food_101/onion_rings/._849689.jpg
inflating: Food_101/onion_rings/1460832.jpg
inflating: __MACOSX/Food_101/onion_rings/._1460832.jpg
inflating: Food_101/onion_rings/2632322.jpg
inflating: __MACOSX/Food_101/onion_rings/._2632322.jpg
inflating: Food_101/onion_rings/2483960.jpg
inflating: __MACOSX/Food_101/onion_rings/._2483960.jpg
inflating: Food_101/onion_rings/2636193.jpg
inflating: __MACOSX/Food_101/onion_rings/._2636193.jpg
inflating: Food_101/onion_rings/3042760.jpg
inflating: __MACOSX/Food_101/onion_rings/._3042760.jpg
inflating: Food_101/onion_rings/2831742.jpg
inflating: __MACOSX/Food_101/onion_rings/._2831742.jpg
inflating: Food_101/onion_rings/2553228.jpg
inflating: __MACOSX/Food_101/onion_rings/._2553228.jpg
inflating: Food_101/onion_rings/251402.jpg
inflating: __MACOSX/Food_101/onion_rings/._251402.jpg
inflating: Food_101/onion_rings/1112289.jpg
inflating: __MACOSX/Food_101/onion_rings/._1112289.jpg
inflating: Food_101/onion_rings/3533144.jpg
inflating: __MACOSX/Food_101/onion_rings/._3533144.jpg
inflating: Food_101/onion_rings/1017468.jpg
inflating: __MACOSX/Food_101/onion_rings/._1017468.jpg
inflating: Food_101/onion_rings/2596809.jpg
inflating: __MACOSX/Food_101/onion_rings/._2596809.jpg
inflating: Food_101/onion_rings/1612987.jpg
inflating: __MACOSX/Food_101/onion_rings/._1612987.jpg
inflating: Food_101/onion_rings/2998261.jpg
inflating: __MACOSX/Food_101/onion_rings/._2998261.jpg
inflating: Food_101/onion_rings/483086.jpg
inflating: __MACOSX/Food_101/onion_rings/._483086.jpg
inflating: Food_101/onion_rings/1112272.jpg
inflating: __MACOSX/Food_101/onion_rings/._1112272.jpg
inflating: Food_101/onion_rings/755440.jpg
inflating: __MACOSX/Food_101/onion_rings/._755440.jpg
inflating: Food_101/onion_rings/2281694.jpg
inflating: __MACOSX/Food_101/onion_rings/._2281694.jpg
inflating: Food_101/onion_rings/2583582.jpg
inflating: __MACOSX/Food_101/onion_rings/._2583582.jpg
inflating: Food_101/onion_rings/1262705.jpg
inflating: __MACOSX/Food_101/onion_rings/._1262705.jpg
inflating: Food_101/onion_rings/3384406.jpg
inflating: __MACOSX/Food_101/onion_rings/._3384406.jpg
inflating: Food_101/onion_rings/3344178.jpg
inflating: __MACOSX/Food_101/onion_rings/._3344178.jpg
inflating: Food_101/onion_rings/2997803.jpg
inflating: __MACOSX/Food_101/onion_rings/._2997803.jpg
inflating: Food_101/onion_rings/3029853.jpg
inflating: __MACOSX/Food_101/onion_rings/._3029853.jpg
inflating: Food_101/onion_rings/3705890.jpg
inflating: __MACOSX/Food_101/onion_rings/._3705890.jpg
inflating: Food_101/onion_rings/260340.jpg
inflating: __MACOSX/Food_101/onion_rings/._260340.jpg
inflating: Food_101/onion_rings/57508.jpg
inflating: __MACOSX/Food_101/onion_rings/._57508.jpg
inflating: Food_101/onion_rings/3362381.jpg
inflating: __MACOSX/Food_101/onion_rings/._3362381.jpg
inflating: Food_101/onion_rings/61737.jpg
inflating: __MACOSX/Food_101/onion_rings/._61737.jpg
inflating: Food_101/onion_rings/3312100.jpg
inflating: __MACOSX/Food_101/onion_rings/._3312100.jpg
inflating: Food_101/onion_rings/743949.jpg
inflating: __MACOSX/Food_101/onion_rings/._743949.jpg
inflating: Food_101/onion_rings/2534923.jpg
inflating: __MACOSX/Food_101/onion_rings/._2534923.jpg
inflating: Food_101/onion_rings/242917.jpg
inflating: __MACOSX/Food_101/onion_rings/._242917.jpg
inflating: Food_101/onion_rings/1642554.jpg
inflating: __MACOSX/Food_101/onion_rings/._1642554.jpg
inflating: Food_101/onion_rings/376330.jpg
inflating: __MACOSX/Food_101/onion_rings/._376330.jpg
inflating: Food_101/onion_rings/608394.jpg
inflating: __MACOSX/Food_101/onion_rings/._608394.jpg
inflating: Food_101/onion_rings/321297.jpg
inflating: __MACOSX/Food_101/onion_rings/._321297.jpg
inflating: Food_101/onion_rings/798234.jpg
inflating: __MACOSX/Food_101/onion_rings/._798234.jpg
inflating: Food_101/onion_rings/2342973.jpg
inflating: __MACOSX/Food_101/onion_rings/._2342973.jpg
inflating: Food_101/onion_rings/1089654.jpg
inflating: __MACOSX/Food_101/onion_rings/._1089654.jpg
inflating: Food_101/onion_rings/1105108.jpg
inflating: __MACOSX/Food_101/onion_rings/._1105108.jpg
inflating: Food_101/onion_rings/2856656.jpg
inflating: __MACOSX/Food_101/onion_rings/._2856656.jpg
inflating: Food_101/onion_rings/1213711.jpg
inflating: __MACOSX/Food_101/onion_rings/._1213711.jpg
inflating: Food_101/onion_rings/1089683.jpg
inflating: __MACOSX/Food_101/onion_rings/._1089683.jpg
inflating: Food_101/onion_rings/2123460.jpg
inflating: __MACOSX/Food_101/onion_rings/._2123460.jpg
inflating: Food_101/onion_rings/929554.jpg
inflating: __MACOSX/Food_101/onion_rings/._929554.jpg
inflating: Food_101/onion_rings/2012870.jpg
inflating: __MACOSX/Food_101/onion_rings/._2012870.jpg
inflating: Food_101/onion_rings/816029.jpg
inflating: __MACOSX/Food_101/onion_rings/._816029.jpg
inflating: Food_101/onion_rings/2587875.jpg
inflating: __MACOSX/Food_101/onion_rings/._2587875.jpg
inflating: Food_101/onion_rings/171800.jpg
inflating: __MACOSX/Food_101/onion_rings/._171800.jpg
inflating: Food_101/onion_rings/1491762.jpg
inflating: __MACOSX/Food_101/onion_rings/._1491762.jpg
inflating: Food_101/onion_rings/3117189.jpg
inflating: __MACOSX/Food_101/onion_rings/._3117189.jpg
inflating: Food_101/onion_rings/774706.jpg
inflating: __MACOSX/Food_101/onion_rings/._774706.jpg
inflating: Food_101/onion_rings/32597.jpg
inflating: __MACOSX/Food_101/onion_rings/._32597.jpg
inflating: Food_101/onion_rings/1399818.jpg
inflating: __MACOSX/Food_101/onion_rings/._1399818.jpg
inflating: Food_101/onion_rings/2635299.jpg
inflating: __MACOSX/Food_101/onion_rings/._2635299.jpg
inflating: Food_101/onion_rings/1642541.jpg
inflating: __MACOSX/Food_101/onion_rings/._1642541.jpg
inflating: Food_101/onion_rings/2921811.jpg
inflating: __MACOSX/Food_101/onion_rings/._2921811.jpg
inflating: Food_101/onion_rings/1998330.jpg
inflating: __MACOSX/Food_101/onion_rings/._1998330.jpg
inflating: Food_101/onion_rings/2619997.jpg
inflating: __MACOSX/Food_101/onion_rings/._2619997.jpg
inflating: Food_101/onion_rings/3550627.jpg
inflating: __MACOSX/Food_101/onion_rings/._3550627.jpg
inflating: Food_101/onion_rings/3756588.jpg
inflating: __MACOSX/Food_101/onion_rings/._3756588.jpg
inflating: Food_101/onion_rings/2498410.jpg
inflating: __MACOSX/Food_101/onion_rings/._2498410.jpg
inflating: Food_101/onion_rings/567852.jpg
inflating: __MACOSX/Food_101/onion_rings/._567852.jpg
inflating: Food_101/onion_rings/2634018.jpg
inflating: __MACOSX/Food_101/onion_rings/._2634018.jpg
inflating: Food_101/onion_rings/2684903.jpg
inflating: __MACOSX/Food_101/onion_rings/._2684903.jpg
inflating: Food_101/onion_rings/810921.jpg
inflating: __MACOSX/Food_101/onion_rings/._810921.jpg
inflating: Food_101/onion_rings/865399.jpg
inflating: __MACOSX/Food_101/onion_rings/._865399.jpg
inflating: Food_101/onion_rings/192609.jpg
inflating: __MACOSX/Food_101/onion_rings/._192609.jpg
inflating: Food_101/onion_rings/2324995.jpg
inflating: __MACOSX/Food_101/onion_rings/._2324995.jpg
inflating: Food_101/onion_rings/1331610.jpg
inflating: __MACOSX/Food_101/onion_rings/._1331610.jpg
inflating: Food_101/onion_rings/2248683.jpg
inflating: __MACOSX/Food_101/onion_rings/._2248683.jpg
inflating: Food_101/onion_rings/2212599.jpg
inflating: __MACOSX/Food_101/onion_rings/._2212599.jpg
inflating: Food_101/onion_rings/2338827.jpg
inflating: __MACOSX/Food_101/onion_rings/._2338827.jpg
inflating: Food_101/onion_rings/1443552.jpg
inflating: __MACOSX/Food_101/onion_rings/._1443552.jpg
inflating: Food_101/onion_rings/1770646.jpg
inflating: __MACOSX/Food_101/onion_rings/._1770646.jpg
inflating: Food_101/onion_rings/2413147.jpg
inflating: __MACOSX/Food_101/onion_rings/._2413147.jpg
inflating: Food_101/onion_rings/2901690.jpg
inflating: __MACOSX/Food_101/onion_rings/._2901690.jpg
inflating: Food_101/onion_rings/333296.jpg
inflating: __MACOSX/Food_101/onion_rings/._333296.jpg
inflating: Food_101/onion_rings/2550724.jpg
inflating: __MACOSX/Food_101/onion_rings/._2550724.jpg
inflating: Food_101/onion_rings/166213.jpg
inflating: __MACOSX/Food_101/onion_rings/._166213.jpg
inflating: Food_101/onion_rings/2612222.jpg
inflating: __MACOSX/Food_101/onion_rings/._2612222.jpg
inflating: Food_101/onion_rings/1093989.jpg
inflating: __MACOSX/Food_101/onion_rings/._1093989.jpg
inflating: Food_101/onion_rings/1549094.jpg
inflating: __MACOSX/Food_101/onion_rings/._1549094.jpg
inflating: Food_101/onion_rings/3442960.jpg
inflating: __MACOSX/Food_101/onion_rings/._3442960.jpg
inflating: Food_101/onion_rings/1585488.jpg
inflating: __MACOSX/Food_101/onion_rings/._1585488.jpg
inflating: Food_101/onion_rings/1851536.jpg
inflating: __MACOSX/Food_101/onion_rings/._1851536.jpg
inflating: Food_101/onion_rings/801386.jpg
inflating: __MACOSX/Food_101/onion_rings/._801386.jpg
inflating: Food_101/onion_rings/1289599.jpg
inflating: __MACOSX/Food_101/onion_rings/._1289599.jpg
inflating: Food_101/onion_rings/2423509.jpg
inflating: __MACOSX/Food_101/onion_rings/._2423509.jpg
inflating: Food_101/onion_rings/3041520.jpg
inflating: __MACOSX/Food_101/onion_rings/._3041520.jpg
inflating: Food_101/onion_rings/3544687.jpg
inflating: __MACOSX/Food_101/onion_rings/._3544687.jpg
inflating: Food_101/onion_rings/2805184.jpg
inflating: __MACOSX/Food_101/onion_rings/._2805184.jpg
inflating: Food_101/onion_rings/253986.jpg
inflating: __MACOSX/Food_101/onion_rings/._253986.jpg
inflating: Food_101/onion_rings/3446735.jpg
inflating: __MACOSX/Food_101/onion_rings/._3446735.jpg
inflating: Food_101/onion_rings/2289744.jpg
inflating: __MACOSX/Food_101/onion_rings/._2289744.jpg
inflating: Food_101/onion_rings/45047.jpg
inflating: __MACOSX/Food_101/onion_rings/._45047.jpg
inflating: Food_101/onion_rings/2121923.jpg
inflating: __MACOSX/Food_101/onion_rings/._2121923.jpg
inflating: Food_101/onion_rings/2373978.jpg
inflating: __MACOSX/Food_101/onion_rings/._2373978.jpg
inflating: Food_101/onion_rings/2094197.jpg
inflating: __MACOSX/Food_101/onion_rings/._2094197.jpg
inflating: Food_101/onion_rings/2447676.jpg
inflating: __MACOSX/Food_101/onion_rings/._2447676.jpg
inflating: Food_101/onion_rings/2362849.jpg
inflating: __MACOSX/Food_101/onion_rings/._2362849.jpg
inflating: Food_101/onion_rings/1741923.jpg
inflating: __MACOSX/Food_101/onion_rings/._1741923.jpg
inflating: Food_101/onion_rings/2369539.jpg
inflating: __MACOSX/Food_101/onion_rings/._2369539.jpg
inflating: Food_101/onion_rings/2367528.jpg
inflating: __MACOSX/Food_101/onion_rings/._2367528.jpg
inflating: Food_101/onion_rings/903368.jpg
inflating: __MACOSX/Food_101/onion_rings/._903368.jpg
inflating: Food_101/onion_rings/2322074.jpg
inflating: __MACOSX/Food_101/onion_rings/._2322074.jpg
inflating: Food_101/onion_rings/1800157.jpg
inflating: __MACOSX/Food_101/onion_rings/._1800157.jpg
inflating: Food_101/onion_rings/71645.jpg
inflating: __MACOSX/Food_101/onion_rings/._71645.jpg
inflating: Food_101/onion_rings/2915963.jpg
inflating: __MACOSX/Food_101/onion_rings/._2915963.jpg
inflating: Food_101/onion_rings/1620661.jpg
inflating: __MACOSX/Food_101/onion_rings/._1620661.jpg
inflating: Food_101/onion_rings/2668349.jpg
inflating: __MACOSX/Food_101/onion_rings/._2668349.jpg
inflating: Food_101/onion_rings/3538836.jpg
inflating: __MACOSX/Food_101/onion_rings/._3538836.jpg
inflating: Food_101/onion_rings/2088781.jpg
inflating: __MACOSX/Food_101/onion_rings/._2088781.jpg
inflating: Food_101/onion_rings/2537186.jpg
inflating: __MACOSX/Food_101/onion_rings/._2537186.jpg
inflating: Food_101/onion_rings/2030344.jpg
inflating: __MACOSX/Food_101/onion_rings/._2030344.jpg
inflating: Food_101/onion_rings/2203911.jpg
inflating: __MACOSX/Food_101/onion_rings/._2203911.jpg
inflating: Food_101/onion_rings/950719.jpg
inflating: __MACOSX/Food_101/onion_rings/._950719.jpg
inflating: Food_101/onion_rings/424377.jpg
inflating: __MACOSX/Food_101/onion_rings/._424377.jpg
inflating: Food_101/onion_rings/2707016.jpg
inflating: __MACOSX/Food_101/onion_rings/._2707016.jpg
inflating: Food_101/onion_rings/175132.jpg
inflating: __MACOSX/Food_101/onion_rings/._175132.jpg
inflating: Food_101/onion_rings/3623048.jpg
inflating: __MACOSX/Food_101/onion_rings/._3623048.jpg
inflating: Food_101/onion_rings/75146.jpg
inflating: __MACOSX/Food_101/onion_rings/._75146.jpg
inflating: Food_101/onion_rings/146249.jpg
inflating: __MACOSX/Food_101/onion_rings/._146249.jpg
inflating: Food_101/onion_rings/3375760.jpg
inflating: __MACOSX/Food_101/onion_rings/._3375760.jpg
inflating: Food_101/onion_rings/2024866.jpg
inflating: __MACOSX/Food_101/onion_rings/._2024866.jpg
inflating: Food_101/onion_rings/583490.jpg
inflating: __MACOSX/Food_101/onion_rings/._583490.jpg
inflating: Food_101/onion_rings/702122.jpg
inflating: __MACOSX/Food_101/onion_rings/._702122.jpg
inflating: Food_101/onion_rings/1060584.jpg
inflating: __MACOSX/Food_101/onion_rings/._1060584.jpg
inflating: Food_101/onion_rings/3469890.jpg
inflating: __MACOSX/Food_101/onion_rings/._3469890.jpg
inflating: Food_101/onion_rings/3574786.jpg
inflating: __MACOSX/Food_101/onion_rings/._3574786.jpg
inflating: Food_101/onion_rings/2684928.jpg
inflating: __MACOSX/Food_101/onion_rings/._2684928.jpg
inflating: Food_101/onion_rings/1259236.jpg
inflating: __MACOSX/Food_101/onion_rings/._1259236.jpg
inflating: Food_101/onion_rings/2387754.jpg
inflating: __MACOSX/Food_101/onion_rings/._2387754.jpg
inflating: Food_101/onion_rings/1164655.jpg
inflating: __MACOSX/Food_101/onion_rings/._1164655.jpg
inflating: Food_101/onion_rings/437727.jpg
inflating: __MACOSX/Food_101/onion_rings/._437727.jpg
inflating: Food_101/onion_rings/154705.jpg
inflating: __MACOSX/Food_101/onion_rings/._154705.jpg
inflating: Food_101/onion_rings/82479.jpg
inflating: __MACOSX/Food_101/onion_rings/._82479.jpg
inflating: Food_101/onion_rings/3325590.jpg
inflating: __MACOSX/Food_101/onion_rings/._3325590.jpg
inflating: Food_101/onion_rings/2163640.jpg
inflating: __MACOSX/Food_101/onion_rings/._2163640.jpg
inflating: Food_101/onion_rings/1388309.jpg
inflating: __MACOSX/Food_101/onion_rings/._1388309.jpg
inflating: Food_101/onion_rings/1957191.jpg
inflating: __MACOSX/Food_101/onion_rings/._1957191.jpg
inflating: Food_101/onion_rings/2731375.jpg
inflating: __MACOSX/Food_101/onion_rings/._2731375.jpg
inflating: Food_101/onion_rings/1997362.jpg
inflating: __MACOSX/Food_101/onion_rings/._1997362.jpg
inflating: Food_101/onion_rings/3568152.jpg
inflating: __MACOSX/Food_101/onion_rings/._3568152.jpg
inflating: Food_101/onion_rings/1684774.jpg
inflating: __MACOSX/Food_101/onion_rings/._1684774.jpg
inflating: Food_101/onion_rings/50766.jpg
inflating: __MACOSX/Food_101/onion_rings/._50766.jpg
inflating: Food_101/onion_rings/817541.jpg
inflating: __MACOSX/Food_101/onion_rings/._817541.jpg
inflating: Food_101/onion_rings/3712621.jpg
inflating: __MACOSX/Food_101/onion_rings/._3712621.jpg
inflating: Food_101/onion_rings/991917.jpg
inflating: __MACOSX/Food_101/onion_rings/._991917.jpg
inflating: Food_101/onion_rings/3749180.jpg
inflating: __MACOSX/Food_101/onion_rings/._3749180.jpg
inflating: Food_101/onion_rings/2020722.jpg
inflating: __MACOSX/Food_101/onion_rings/._2020722.jpg
inflating: Food_101/onion_rings/1207488.jpg
inflating: __MACOSX/Food_101/onion_rings/._1207488.jpg
inflating: Food_101/onion_rings/3142701.jpg
inflating: __MACOSX/Food_101/onion_rings/._3142701.jpg
inflating: Food_101/onion_rings/1306972.jpg
inflating: __MACOSX/Food_101/onion_rings/._1306972.jpg
inflating: Food_101/onion_rings/667681.jpg
inflating: __MACOSX/Food_101/onion_rings/._667681.jpg
inflating: Food_101/onion_rings/1126.jpg
inflating: __MACOSX/Food_101/onion_rings/._1126.jpg
inflating: Food_101/onion_rings/168716.jpg
inflating: __MACOSX/Food_101/onion_rings/._168716.jpg
inflating: Food_101/onion_rings/1126429.jpg
inflating: __MACOSX/Food_101/onion_rings/._1126429.jpg
inflating: Food_101/onion_rings/86863.jpg
inflating: __MACOSX/Food_101/onion_rings/._86863.jpg
inflating: Food_101/onion_rings/27707.jpg
inflating: __MACOSX/Food_101/onion_rings/._27707.jpg
inflating: Food_101/onion_rings/2888365.jpg
inflating: __MACOSX/Food_101/onion_rings/._2888365.jpg
inflating: Food_101/onion_rings/2860815.jpg
inflating: __MACOSX/Food_101/onion_rings/._2860815.jpg
inflating: Food_101/onion_rings/3620283.jpg
inflating: __MACOSX/Food_101/onion_rings/._3620283.jpg
inflating: Food_101/onion_rings/3319178.jpg
inflating: __MACOSX/Food_101/onion_rings/._3319178.jpg
inflating: Food_101/onion_rings/1817698.jpg
inflating: __MACOSX/Food_101/onion_rings/._1817698.jpg
inflating: Food_101/onion_rings/665653.jpg
inflating: __MACOSX/Food_101/onion_rings/._665653.jpg
inflating: Food_101/onion_rings/123878.jpg
inflating: __MACOSX/Food_101/onion_rings/._123878.jpg
inflating: Food_101/onion_rings/1089625.jpg
inflating: __MACOSX/Food_101/onion_rings/._1089625.jpg
inflating: Food_101/onion_rings/755237.jpg
inflating: __MACOSX/Food_101/onion_rings/._755237.jpg
inflating: Food_101/onion_rings/805025.jpg
inflating: __MACOSX/Food_101/onion_rings/._805025.jpg
inflating: Food_101/onion_rings/502328.jpg
inflating: __MACOSX/Food_101/onion_rings/._502328.jpg
inflating: Food_101/onion_rings/1767558.jpg
inflating: __MACOSX/Food_101/onion_rings/._1767558.jpg
inflating: Food_101/onion_rings/1155799.jpg
inflating: __MACOSX/Food_101/onion_rings/._1155799.jpg
inflating: Food_101/onion_rings/1723332.jpg
inflating: __MACOSX/Food_101/onion_rings/._1723332.jpg
inflating: Food_101/onion_rings/406166.jpg
inflating: __MACOSX/Food_101/onion_rings/._406166.jpg
inflating: Food_101/onion_rings/2428943.jpg
inflating: __MACOSX/Food_101/onion_rings/._2428943.jpg
inflating: Food_101/onion_rings/3827309.jpg
inflating: __MACOSX/Food_101/onion_rings/._3827309.jpg
inflating: Food_101/onion_rings/2734337.jpg
inflating: __MACOSX/Food_101/onion_rings/._2734337.jpg
inflating: Food_101/onion_rings/2254620.jpg
inflating: __MACOSX/Food_101/onion_rings/._2254620.jpg
inflating: Food_101/onion_rings/2772376.jpg
inflating: __MACOSX/Food_101/onion_rings/._2772376.jpg
inflating: Food_101/onion_rings/2135266.jpg
inflating: __MACOSX/Food_101/onion_rings/._2135266.jpg
inflating: Food_101/onion_rings/306499.jpg
inflating: __MACOSX/Food_101/onion_rings/._306499.jpg
inflating: Food_101/onion_rings/2613763.jpg
inflating: __MACOSX/Food_101/onion_rings/._2613763.jpg
inflating: Food_101/onion_rings/1195557.jpg
inflating: __MACOSX/Food_101/onion_rings/._1195557.jpg
inflating: Food_101/onion_rings/2344396.jpg
inflating: __MACOSX/Food_101/onion_rings/._2344396.jpg
inflating: Food_101/onion_rings/2912716.jpg
inflating: __MACOSX/Food_101/onion_rings/._2912716.jpg
inflating: Food_101/onion_rings/1922385.jpg
inflating: __MACOSX/Food_101/onion_rings/._1922385.jpg
inflating: Food_101/onion_rings/2594313.jpg
inflating: __MACOSX/Food_101/onion_rings/._2594313.jpg
inflating: Food_101/onion_rings/3031103.jpg
inflating: __MACOSX/Food_101/onion_rings/._3031103.jpg
inflating: Food_101/onion_rings/1058914.jpg
inflating: __MACOSX/Food_101/onion_rings/._1058914.jpg
inflating: Food_101/onion_rings/2969617.jpg
inflating: __MACOSX/Food_101/onion_rings/._2969617.jpg
inflating: Food_101/onion_rings/3281888.jpg
inflating: __MACOSX/Food_101/onion_rings/._3281888.jpg
inflating: Food_101/onion_rings/127174.jpg
inflating: __MACOSX/Food_101/onion_rings/._127174.jpg
inflating: Food_101/onion_rings/605617.jpg
inflating: __MACOSX/Food_101/onion_rings/._605617.jpg
inflating: Food_101/onion_rings/2823093.jpg
inflating: __MACOSX/Food_101/onion_rings/._2823093.jpg
inflating: Food_101/onion_rings/1459180.jpg
inflating: __MACOSX/Food_101/onion_rings/._1459180.jpg
inflating: Food_101/onion_rings/1264072.jpg
inflating: __MACOSX/Food_101/onion_rings/._1264072.jpg
inflating: Food_101/onion_rings/2887719.jpg
inflating: __MACOSX/Food_101/onion_rings/._2887719.jpg
inflating: Food_101/onion_rings/1836694.jpg
inflating: __MACOSX/Food_101/onion_rings/._1836694.jpg
inflating: Food_101/onion_rings/1019009.jpg
inflating: __MACOSX/Food_101/onion_rings/._1019009.jpg
inflating: Food_101/onion_rings/1298424.jpg
inflating: __MACOSX/Food_101/onion_rings/._1298424.jpg
inflating: Food_101/onion_rings/394266.jpg
inflating: __MACOSX/Food_101/onion_rings/._394266.jpg
inflating: Food_101/onion_rings/2367822.jpg
inflating: __MACOSX/Food_101/onion_rings/._2367822.jpg
inflating: Food_101/onion_rings/1226309.jpg
inflating: __MACOSX/Food_101/onion_rings/._1226309.jpg
inflating: Food_101/onion_rings/2857672.jpg
inflating: __MACOSX/Food_101/onion_rings/._2857672.jpg
inflating: Food_101/onion_rings/1193278.jpg
inflating: __MACOSX/Food_101/onion_rings/._1193278.jpg
inflating: Food_101/onion_rings/102531.jpg
inflating: __MACOSX/Food_101/onion_rings/._102531.jpg
inflating: Food_101/onion_rings/2742666.jpg
inflating: __MACOSX/Food_101/onion_rings/._2742666.jpg
inflating: Food_101/onion_rings/1457783.jpg
inflating: __MACOSX/Food_101/onion_rings/._1457783.jpg
inflating: Food_101/onion_rings/2761256.jpg
inflating: __MACOSX/Food_101/onion_rings/._2761256.jpg
inflating: Food_101/onion_rings/633776.jpg
inflating: __MACOSX/Food_101/onion_rings/._633776.jpg
inflating: Food_101/onion_rings/2343572.jpg
inflating: __MACOSX/Food_101/onion_rings/._2343572.jpg
inflating: Food_101/onion_rings/3710023.jpg
inflating: __MACOSX/Food_101/onion_rings/._3710023.jpg
inflating: Food_101/onion_rings/2968864.jpg
inflating: __MACOSX/Food_101/onion_rings/._2968864.jpg
inflating: Food_101/onion_rings/3863415.jpg
inflating: __MACOSX/Food_101/onion_rings/._3863415.jpg
inflating: Food_101/onion_rings/2239592.jpg
inflating: __MACOSX/Food_101/onion_rings/._2239592.jpg
inflating: Food_101/onion_rings/3740819.jpg
inflating: __MACOSX/Food_101/onion_rings/._3740819.jpg
inflating: Food_101/onion_rings/141436.jpg
inflating: __MACOSX/Food_101/onion_rings/._141436.jpg
inflating: Food_101/onion_rings/2209684.jpg
inflating: __MACOSX/Food_101/onion_rings/._2209684.jpg
inflating: Food_101/onion_rings/3291290.jpg
inflating: __MACOSX/Food_101/onion_rings/._3291290.jpg
inflating: Food_101/onion_rings/2755330.jpg
inflating: __MACOSX/Food_101/onion_rings/._2755330.jpg
inflating: Food_101/onion_rings/3886670.jpg
inflating: __MACOSX/Food_101/onion_rings/._3886670.jpg
inflating: Food_101/onion_rings/1130248.jpg
inflating: __MACOSX/Food_101/onion_rings/._1130248.jpg
inflating: Food_101/onion_rings/3291253.jpg
inflating: __MACOSX/Food_101/onion_rings/._3291253.jpg
inflating: Food_101/onion_rings/1834122.jpg
inflating: __MACOSX/Food_101/onion_rings/._1834122.jpg
inflating: Food_101/onion_rings/2369776.jpg
inflating: __MACOSX/Food_101/onion_rings/._2369776.jpg
inflating: Food_101/onion_rings/1870600.jpg
inflating: __MACOSX/Food_101/onion_rings/._1870600.jpg
inflating: Food_101/onion_rings/1801953.jpg
inflating: __MACOSX/Food_101/onion_rings/._1801953.jpg
inflating: Food_101/onion_rings/2957937.jpg
inflating: __MACOSX/Food_101/onion_rings/._2957937.jpg
inflating: Food_101/onion_rings/2394162.jpg
inflating: __MACOSX/Food_101/onion_rings/._2394162.jpg
inflating: Food_101/onion_rings/2357673.jpg
inflating: __MACOSX/Food_101/onion_rings/._2357673.jpg
inflating: Food_101/onion_rings/1600926.jpg
inflating: __MACOSX/Food_101/onion_rings/._1600926.jpg
inflating: Food_101/onion_rings/1200509.jpg
inflating: __MACOSX/Food_101/onion_rings/._1200509.jpg
inflating: Food_101/onion_rings/3738183.jpg
inflating: __MACOSX/Food_101/onion_rings/._3738183.jpg
inflating: Food_101/onion_rings/1344808.jpg
inflating: __MACOSX/Food_101/onion_rings/._1344808.jpg
inflating: Food_101/onion_rings/1883549.jpg
inflating: __MACOSX/Food_101/onion_rings/._1883549.jpg
inflating: Food_101/onion_rings/521243.jpg
inflating: __MACOSX/Food_101/onion_rings/._521243.jpg
inflating: Food_101/onion_rings/2825806.jpg
inflating: __MACOSX/Food_101/onion_rings/._2825806.jpg
inflating: Food_101/onion_rings/2223496.jpg
inflating: __MACOSX/Food_101/onion_rings/._2223496.jpg
inflating: Food_101/onion_rings/629880.jpg
inflating: __MACOSX/Food_101/onion_rings/._629880.jpg
inflating: Food_101/onion_rings/3358319.jpg
inflating: __MACOSX/Food_101/onion_rings/._3358319.jpg
inflating: Food_101/onion_rings/1778452.jpg
inflating: __MACOSX/Food_101/onion_rings/._1778452.jpg
inflating: Food_101/onion_rings/634620.jpg
inflating: __MACOSX/Food_101/onion_rings/._634620.jpg
inflating: Food_101/onion_rings/1626260.jpg
inflating: __MACOSX/Food_101/onion_rings/._1626260.jpg
inflating: Food_101/onion_rings/2130484.jpg
inflating: __MACOSX/Food_101/onion_rings/._2130484.jpg
inflating: Food_101/onion_rings/849577.jpg
inflating: __MACOSX/Food_101/onion_rings/._849577.jpg
inflating: Food_101/onion_rings/1396797.jpg
inflating: __MACOSX/Food_101/onion_rings/._1396797.jpg
inflating: Food_101/onion_rings/3159055.jpg
inflating: __MACOSX/Food_101/onion_rings/._3159055.jpg
inflating: Food_101/onion_rings/1791569.jpg
inflating: __MACOSX/Food_101/onion_rings/._1791569.jpg
inflating: Food_101/onion_rings/2788959.jpg
inflating: __MACOSX/Food_101/onion_rings/._2788959.jpg
inflating: Food_101/onion_rings/2210511.jpg
inflating: __MACOSX/Food_101/onion_rings/._2210511.jpg
inflating: Food_101/onion_rings/87362.jpg
inflating: __MACOSX/Food_101/onion_rings/._87362.jpg
inflating: Food_101/onion_rings/1852477.jpg
inflating: __MACOSX/Food_101/onion_rings/._1852477.jpg
inflating: Food_101/onion_rings/3096432.jpg
inflating: __MACOSX/Food_101/onion_rings/._3096432.jpg
inflating: Food_101/onion_rings/1440565.jpg
inflating: __MACOSX/Food_101/onion_rings/._1440565.jpg
inflating: Food_101/onion_rings/1548887.jpg
inflating: __MACOSX/Food_101/onion_rings/._1548887.jpg
inflating: Food_101/onion_rings/2316028.jpg
inflating: __MACOSX/Food_101/onion_rings/._2316028.jpg
inflating: Food_101/onion_rings/1476014.jpg
inflating: __MACOSX/Food_101/onion_rings/._1476014.jpg
inflating: Food_101/onion_rings/3112120.jpg
inflating: __MACOSX/Food_101/onion_rings/._3112120.jpg
inflating: Food_101/onion_rings/2358151.jpg
inflating: __MACOSX/Food_101/onion_rings/._2358151.jpg
inflating: Food_101/onion_rings/2693799.jpg
inflating: __MACOSX/Food_101/onion_rings/._2693799.jpg
inflating: Food_101/onion_rings/1183281.jpg
inflating: __MACOSX/Food_101/onion_rings/._1183281.jpg
inflating: Food_101/onion_rings/3886315.jpg
inflating: __MACOSX/Food_101/onion_rings/._3886315.jpg
inflating: Food_101/onion_rings/84253.jpg
inflating: __MACOSX/Food_101/onion_rings/._84253.jpg
inflating: Food_101/onion_rings/3130805.jpg
inflating: __MACOSX/Food_101/onion_rings/._3130805.jpg
inflating: Food_101/onion_rings/1239038.jpg
inflating: __MACOSX/Food_101/onion_rings/._1239038.jpg
inflating: Food_101/onion_rings/1886568.jpg
inflating: __MACOSX/Food_101/onion_rings/._1886568.jpg
inflating: Food_101/onion_rings/1606017.jpg
inflating: __MACOSX/Food_101/onion_rings/._1606017.jpg
inflating: Food_101/onion_rings/190518.jpg
inflating: __MACOSX/Food_101/onion_rings/._190518.jpg
inflating: Food_101/onion_rings/2857339.jpg
inflating: __MACOSX/Food_101/onion_rings/._2857339.jpg
inflating: Food_101/onion_rings/38345.jpg
inflating: __MACOSX/Food_101/onion_rings/._38345.jpg
inflating: Food_101/onion_rings/1498308.jpg
inflating: __MACOSX/Food_101/onion_rings/._1498308.jpg
inflating: Food_101/onion_rings/2278291.jpg
inflating: __MACOSX/Food_101/onion_rings/._2278291.jpg
inflating: Food_101/onion_rings/1752491.jpg
inflating: __MACOSX/Food_101/onion_rings/._1752491.jpg
inflating: Food_101/onion_rings/3255016.jpg
inflating: __MACOSX/Food_101/onion_rings/._3255016.jpg
inflating: Food_101/onion_rings/1074382.jpg
inflating: __MACOSX/Food_101/onion_rings/._1074382.jpg
inflating: Food_101/onion_rings/2701764.jpg
inflating: __MACOSX/Food_101/onion_rings/._2701764.jpg
inflating: Food_101/onion_rings/3779284.jpg
inflating: __MACOSX/Food_101/onion_rings/._3779284.jpg
inflating: Food_101/onion_rings/461528.jpg
inflating: __MACOSX/Food_101/onion_rings/._461528.jpg
inflating: Food_101/onion_rings/269461.jpg
inflating: __MACOSX/Food_101/onion_rings/._269461.jpg
inflating: Food_101/onion_rings/3757145.jpg
inflating: __MACOSX/Food_101/onion_rings/._3757145.jpg
inflating: Food_101/onion_rings/1428636.jpg
inflating: __MACOSX/Food_101/onion_rings/._1428636.jpg
inflating: Food_101/onion_rings/2027507.jpg
inflating: __MACOSX/Food_101/onion_rings/._2027507.jpg
inflating: Food_101/onion_rings/2191879.jpg
inflating: __MACOSX/Food_101/onion_rings/._2191879.jpg
inflating: Food_101/onion_rings/3876380.jpg
inflating: __MACOSX/Food_101/onion_rings/._3876380.jpg
inflating: Food_101/onion_rings/95986.jpg
inflating: __MACOSX/Food_101/onion_rings/._95986.jpg
inflating: Food_101/onion_rings/3383097.jpg
inflating: __MACOSX/Food_101/onion_rings/._3383097.jpg
inflating: Food_101/onion_rings/1276465.jpg
inflating: __MACOSX/Food_101/onion_rings/._1276465.jpg
inflating: Food_101/onion_rings/722278.jpg
inflating: __MACOSX/Food_101/onion_rings/._722278.jpg
inflating: Food_101/onion_rings/292980.jpg
inflating: __MACOSX/Food_101/onion_rings/._292980.jpg
inflating: Food_101/onion_rings/1972984.jpg
inflating: __MACOSX/Food_101/onion_rings/._1972984.jpg
inflating: Food_101/onion_rings/1471192.jpg
inflating: __MACOSX/Food_101/onion_rings/._1471192.jpg
inflating: Food_101/onion_rings/1915260.jpg
inflating: __MACOSX/Food_101/onion_rings/._1915260.jpg
inflating: Food_101/onion_rings/1466149.jpg
inflating: __MACOSX/Food_101/onion_rings/._1466149.jpg
inflating: Food_101/onion_rings/686055.jpg
inflating: __MACOSX/Food_101/onion_rings/._686055.jpg
inflating: Food_101/onion_rings/282991.jpg
inflating: __MACOSX/Food_101/onion_rings/._282991.jpg
inflating: Food_101/onion_rings/1037898.jpg
inflating: __MACOSX/Food_101/onion_rings/._1037898.jpg
inflating: Food_101/onion_rings/3868343.jpg
inflating: __MACOSX/Food_101/onion_rings/._3868343.jpg
inflating: Food_101/onion_rings/3357760.jpg
inflating: __MACOSX/Food_101/onion_rings/._3357760.jpg
inflating: Food_101/onion_rings/3419640.jpg
inflating: __MACOSX/Food_101/onion_rings/._3419640.jpg
inflating: Food_101/onion_rings/1744392.jpg
inflating: __MACOSX/Food_101/onion_rings/._1744392.jpg
inflating: Food_101/onion_rings/962052.jpg
inflating: __MACOSX/Food_101/onion_rings/._962052.jpg
inflating: Food_101/onion_rings/3341116.jpg
inflating: __MACOSX/Food_101/onion_rings/._3341116.jpg
inflating: Food_101/onion_rings/1069715.jpg
inflating: __MACOSX/Food_101/onion_rings/._1069715.jpg
inflating: Food_101/onion_rings/3696446.jpg
inflating: __MACOSX/Food_101/onion_rings/._3696446.jpg
inflating: Food_101/onion_rings/1135532.jpg
inflating: __MACOSX/Food_101/onion_rings/._1135532.jpg
inflating: Food_101/onion_rings/1974310.jpg
inflating: __MACOSX/Food_101/onion_rings/._1974310.jpg
inflating: Food_101/onion_rings/68177.jpg
inflating: __MACOSX/Food_101/onion_rings/._68177.jpg
inflating: Food_101/onion_rings/3142699.jpg
inflating: __MACOSX/Food_101/onion_rings/._3142699.jpg
inflating: Food_101/onion_rings/1151936.jpg
inflating: __MACOSX/Food_101/onion_rings/._1151936.jpg
inflating: Food_101/onion_rings/61621.jpg
inflating: __MACOSX/Food_101/onion_rings/._61621.jpg
inflating: Food_101/onion_rings/2561175.jpg
inflating: __MACOSX/Food_101/onion_rings/._2561175.jpg
inflating: Food_101/onion_rings/2889875.jpg
inflating: __MACOSX/Food_101/onion_rings/._2889875.jpg
inflating: Food_101/onion_rings/63624.jpg
inflating: __MACOSX/Food_101/onion_rings/._63624.jpg
inflating: Food_101/onion_rings/3188796.jpg
inflating: __MACOSX/Food_101/onion_rings/._3188796.jpg
inflating: Food_101/onion_rings/3581223.jpg
inflating: __MACOSX/Food_101/onion_rings/._3581223.jpg
inflating: Food_101/onion_rings/3159440.jpg
inflating: __MACOSX/Food_101/onion_rings/._3159440.jpg
inflating: Food_101/onion_rings/80540.jpg
inflating: __MACOSX/Food_101/onion_rings/._80540.jpg
inflating: Food_101/onion_rings/3645540.jpg
inflating: __MACOSX/Food_101/onion_rings/._3645540.jpg
inflating: Food_101/onion_rings/85376.jpg
inflating: __MACOSX/Food_101/onion_rings/._85376.jpg
inflating: Food_101/onion_rings/3253843.jpg
inflating: __MACOSX/Food_101/onion_rings/._3253843.jpg
inflating: Food_101/onion_rings/757023.jpg
inflating: __MACOSX/Food_101/onion_rings/._757023.jpg
inflating: Food_101/onion_rings/869715.jpg
inflating: __MACOSX/Food_101/onion_rings/._869715.jpg
inflating: Food_101/onion_rings/764614.jpg
inflating: __MACOSX/Food_101/onion_rings/._764614.jpg
inflating: Food_101/onion_rings/960731.jpg
inflating: __MACOSX/Food_101/onion_rings/._960731.jpg
inflating: Food_101/onion_rings/1786616.jpg
inflating: __MACOSX/Food_101/onion_rings/._1786616.jpg
inflating: Food_101/onion_rings/2423024.jpg
inflating: __MACOSX/Food_101/onion_rings/._2423024.jpg
inflating: Food_101/onion_rings/2115775.jpg
inflating: __MACOSX/Food_101/onion_rings/._2115775.jpg
inflating: Food_101/onion_rings/807033.jpg
inflating: __MACOSX/Food_101/onion_rings/._807033.jpg
inflating: Food_101/onion_rings/941716.jpg
inflating: __MACOSX/Food_101/onion_rings/._941716.jpg
inflating: Food_101/onion_rings/3364223.jpg
inflating: __MACOSX/Food_101/onion_rings/._3364223.jpg
inflating: Food_101/onion_rings/3795987.jpg
inflating: __MACOSX/Food_101/onion_rings/._3795987.jpg
inflating: Food_101/onion_rings/2524761.jpg
inflating: __MACOSX/Food_101/onion_rings/._2524761.jpg
inflating: Food_101/onion_rings/2709887.jpg
inflating: __MACOSX/Food_101/onion_rings/._2709887.jpg
inflating: Food_101/onion_rings/2925747.jpg
inflating: __MACOSX/Food_101/onion_rings/._2925747.jpg
inflating: Food_101/onion_rings/3582502.jpg
inflating: __MACOSX/Food_101/onion_rings/._3582502.jpg
inflating: Food_101/onion_rings/3544431.jpg
inflating: __MACOSX/Food_101/onion_rings/._3544431.jpg
inflating: Food_101/onion_rings/1220595.jpg
inflating: __MACOSX/Food_101/onion_rings/._1220595.jpg
inflating: Food_101/onion_rings/688457.jpg
inflating: __MACOSX/Food_101/onion_rings/._688457.jpg
inflating: Food_101/onion_rings/2128804.jpg
inflating: __MACOSX/Food_101/onion_rings/._2128804.jpg
inflating: Food_101/onion_rings/2150767.jpg
inflating: __MACOSX/Food_101/onion_rings/._2150767.jpg
inflating: Food_101/onion_rings/606520.jpg
inflating: __MACOSX/Food_101/onion_rings/._606520.jpg
inflating: Food_101/onion_rings/2856232.jpg
inflating: __MACOSX/Food_101/onion_rings/._2856232.jpg
inflating: Food_101/onion_rings/327080.jpg
inflating: __MACOSX/Food_101/onion_rings/._327080.jpg
inflating: Food_101/onion_rings/1851623.jpg
inflating: __MACOSX/Food_101/onion_rings/._1851623.jpg
inflating: Food_101/onion_rings/3061042.jpg
inflating: __MACOSX/Food_101/onion_rings/._3061042.jpg
inflating: Food_101/onion_rings/1336903.jpg
inflating: __MACOSX/Food_101/onion_rings/._1336903.jpg
inflating: Food_101/onion_rings/707945.jpg
inflating: __MACOSX/Food_101/onion_rings/._707945.jpg
inflating: Food_101/onion_rings/3022147.jpg
inflating: __MACOSX/Food_101/onion_rings/._3022147.jpg
inflating: Food_101/onion_rings/3246848.jpg
inflating: __MACOSX/Food_101/onion_rings/._3246848.jpg
inflating: Food_101/onion_rings/3606719.jpg
inflating: __MACOSX/Food_101/onion_rings/._3606719.jpg
inflating: Food_101/onion_rings/3626344.jpg
inflating: __MACOSX/Food_101/onion_rings/._3626344.jpg
inflating: Food_101/onion_rings/2827024.jpg
inflating: __MACOSX/Food_101/onion_rings/._2827024.jpg
inflating: Food_101/onion_rings/2437866.jpg
inflating: __MACOSX/Food_101/onion_rings/._2437866.jpg
inflating: Food_101/onion_rings/3352632.jpg
inflating: __MACOSX/Food_101/onion_rings/._3352632.jpg
inflating: Food_101/onion_rings/1662356.jpg
inflating: __MACOSX/Food_101/onion_rings/._1662356.jpg
inflating: Food_101/onion_rings/3738153.jpg
inflating: __MACOSX/Food_101/onion_rings/._3738153.jpg
inflating: Food_101/onion_rings/2813380.jpg
inflating: __MACOSX/Food_101/onion_rings/._2813380.jpg
inflating: Food_101/onion_rings/907178.jpg
inflating: __MACOSX/Food_101/onion_rings/._907178.jpg
inflating: Food_101/onion_rings/3225322.jpg
inflating: __MACOSX/Food_101/onion_rings/._3225322.jpg
inflating: Food_101/onion_rings/199648.jpg
inflating: __MACOSX/Food_101/onion_rings/._199648.jpg
inflating: Food_101/onion_rings/2906570.jpg
inflating: __MACOSX/Food_101/onion_rings/._2906570.jpg
inflating: Food_101/onion_rings/2367984.jpg
inflating: __MACOSX/Food_101/onion_rings/._2367984.jpg
inflating: Food_101/onion_rings/852347.jpg
inflating: __MACOSX/Food_101/onion_rings/._852347.jpg
inflating: Food_101/onion_rings/2362630.jpg
inflating: __MACOSX/Food_101/onion_rings/._2362630.jpg
inflating: Food_101/onion_rings/1794167.jpg
inflating: __MACOSX/Food_101/onion_rings/._1794167.jpg
inflating: Food_101/onion_rings/2888413.jpg
inflating: __MACOSX/Food_101/onion_rings/._2888413.jpg
inflating: Food_101/onion_rings/548966.jpg
inflating: __MACOSX/Food_101/onion_rings/._548966.jpg
inflating: Food_101/onion_rings/1440205.jpg
inflating: __MACOSX/Food_101/onion_rings/._1440205.jpg
inflating: Food_101/onion_rings/3780838.jpg
inflating: __MACOSX/Food_101/onion_rings/._3780838.jpg
inflating: Food_101/onion_rings/2417180.jpg
inflating: __MACOSX/Food_101/onion_rings/._2417180.jpg
inflating: Food_101/onion_rings/1682103.jpg
inflating: __MACOSX/Food_101/onion_rings/._1682103.jpg
inflating: Food_101/onion_rings/1567651.jpg
inflating: __MACOSX/Food_101/onion_rings/._1567651.jpg
inflating: Food_101/onion_rings/2337745.jpg
inflating: __MACOSX/Food_101/onion_rings/._2337745.jpg
inflating: Food_101/onion_rings/2860965.jpg
inflating: __MACOSX/Food_101/onion_rings/._2860965.jpg
inflating: Food_101/onion_rings/2940479.jpg
inflating: __MACOSX/Food_101/onion_rings/._2940479.jpg
inflating: Food_101/onion_rings/3297427.jpg
inflating: __MACOSX/Food_101/onion_rings/._3297427.jpg
inflating: Food_101/onion_rings/586170.jpg
inflating: __MACOSX/Food_101/onion_rings/._586170.jpg
inflating: Food_101/onion_rings/3131502.jpg
inflating: __MACOSX/Food_101/onion_rings/._3131502.jpg
inflating: Food_101/onion_rings/3518367.jpg
inflating: __MACOSX/Food_101/onion_rings/._3518367.jpg
inflating: Food_101/onion_rings/2467103.jpg
inflating: __MACOSX/Food_101/onion_rings/._2467103.jpg
inflating: Food_101/onion_rings/1428350.jpg
inflating: __MACOSX/Food_101/onion_rings/._1428350.jpg
inflating: Food_101/onion_rings/646307.jpg
inflating: __MACOSX/Food_101/onion_rings/._646307.jpg
inflating: Food_101/onion_rings/3469549.jpg
inflating: __MACOSX/Food_101/onion_rings/._3469549.jpg
inflating: Food_101/onion_rings/2903756.jpg
inflating: __MACOSX/Food_101/onion_rings/._2903756.jpg
inflating: Food_101/onion_rings/1355686.jpg
inflating: __MACOSX/Food_101/onion_rings/._1355686.jpg
inflating: Food_101/onion_rings/2812124.jpg
inflating: __MACOSX/Food_101/onion_rings/._2812124.jpg
inflating: Food_101/onion_rings/3748254.jpg
inflating: __MACOSX/Food_101/onion_rings/._3748254.jpg
inflating: Food_101/onion_rings/2437711.jpg
inflating: __MACOSX/Food_101/onion_rings/._2437711.jpg
inflating: Food_101/onion_rings/3273009.jpg
inflating: __MACOSX/Food_101/onion_rings/._3273009.jpg
inflating: Food_101/onion_rings/1797073.jpg
inflating: __MACOSX/Food_101/onion_rings/._1797073.jpg
inflating: Food_101/onion_rings/2655662.jpg
inflating: __MACOSX/Food_101/onion_rings/._2655662.jpg
inflating: Food_101/onion_rings/2019627.jpg
inflating: __MACOSX/Food_101/onion_rings/._2019627.jpg
inflating: Food_101/onion_rings/3772679.jpg
inflating: __MACOSX/Food_101/onion_rings/._3772679.jpg
inflating: Food_101/onion_rings/3760533.jpg
inflating: __MACOSX/Food_101/onion_rings/._3760533.jpg
inflating: Food_101/onion_rings/3779076.jpg
inflating: __MACOSX/Food_101/onion_rings/._3779076.jpg
inflating: Food_101/onion_rings/2437936.jpg
inflating: __MACOSX/Food_101/onion_rings/._2437936.jpg
inflating: Food_101/onion_rings/1848578.jpg
inflating: __MACOSX/Food_101/onion_rings/._1848578.jpg
inflating: Food_101/onion_rings/3152533.jpg
inflating: __MACOSX/Food_101/onion_rings/._3152533.jpg
inflating: Food_101/onion_rings/1249922.jpg
inflating: __MACOSX/Food_101/onion_rings/._1249922.jpg
inflating: Food_101/onion_rings/3702163.jpg
inflating: __MACOSX/Food_101/onion_rings/._3702163.jpg
inflating: Food_101/onion_rings/1384011.jpg
inflating: __MACOSX/Food_101/onion_rings/._1384011.jpg
inflating: Food_101/onion_rings/3559652.jpg
inflating: __MACOSX/Food_101/onion_rings/._3559652.jpg
inflating: Food_101/onion_rings/1451463.jpg
inflating: __MACOSX/Food_101/onion_rings/._1451463.jpg
inflating: Food_101/onion_rings/489070.jpg
inflating: __MACOSX/Food_101/onion_rings/._489070.jpg
inflating: Food_101/onion_rings/2959045.jpg
inflating: __MACOSX/Food_101/onion_rings/._2959045.jpg
inflating: Food_101/onion_rings/1689113.jpg
inflating: __MACOSX/Food_101/onion_rings/._1689113.jpg
inflating: Food_101/onion_rings/680615.jpg
inflating: __MACOSX/Food_101/onion_rings/._680615.jpg
inflating: Food_101/onion_rings/2939955.jpg
inflating: __MACOSX/Food_101/onion_rings/._2939955.jpg
inflating: Food_101/onion_rings/3842002.jpg
inflating: __MACOSX/Food_101/onion_rings/._3842002.jpg
inflating: Food_101/onion_rings/1853776.jpg
inflating: __MACOSX/Food_101/onion_rings/._1853776.jpg
inflating: Food_101/onion_rings/1640449.jpg
inflating: __MACOSX/Food_101/onion_rings/._1640449.jpg
inflating: Food_101/onion_rings/252573.jpg
inflating: __MACOSX/Food_101/onion_rings/._252573.jpg
inflating: Food_101/onion_rings/3394269.jpg
inflating: __MACOSX/Food_101/onion_rings/._3394269.jpg
inflating: Food_101/onion_rings/1243348.jpg
inflating: __MACOSX/Food_101/onion_rings/._1243348.jpg
inflating: Food_101/onion_rings/3876416.jpg
inflating: __MACOSX/Food_101/onion_rings/._3876416.jpg
inflating: Food_101/onion_rings/1689852.jpg
inflating: __MACOSX/Food_101/onion_rings/._1689852.jpg
inflating: Food_101/onion_rings/1882885.jpg
inflating: __MACOSX/Food_101/onion_rings/._1882885.jpg
inflating: Food_101/onion_rings/1275407.jpg
inflating: __MACOSX/Food_101/onion_rings/._1275407.jpg
inflating: Food_101/onion_rings/2100570.jpg
inflating: __MACOSX/Food_101/onion_rings/._2100570.jpg
inflating: Food_101/onion_rings/1697852.jpg
inflating: __MACOSX/Food_101/onion_rings/._1697852.jpg
inflating: Food_101/onion_rings/113781.jpg
inflating: __MACOSX/Food_101/onion_rings/._113781.jpg
inflating: Food_101/onion_rings/2101875.jpg
inflating: __MACOSX/Food_101/onion_rings/._2101875.jpg
inflating: Food_101/onion_rings/77500.jpg
inflating: __MACOSX/Food_101/onion_rings/._77500.jpg
inflating: Food_101/onion_rings/556759.jpg
inflating: __MACOSX/Food_101/onion_rings/._556759.jpg
inflating: Food_101/onion_rings/299367.jpg
inflating: __MACOSX/Food_101/onion_rings/._299367.jpg
inflating: Food_101/onion_rings/147474.jpg
inflating: __MACOSX/Food_101/onion_rings/._147474.jpg
inflating: Food_101/onion_rings/2105435.jpg
inflating: __MACOSX/Food_101/onion_rings/._2105435.jpg
inflating: Food_101/onion_rings/3192312.jpg
inflating: __MACOSX/Food_101/onion_rings/._3192312.jpg
inflating: Food_101/onion_rings/609971.jpg
inflating: __MACOSX/Food_101/onion_rings/._609971.jpg
inflating: Food_101/onion_rings/3249747.jpg
inflating: __MACOSX/Food_101/onion_rings/._3249747.jpg
inflating: Food_101/onion_rings/3216243.jpg
inflating: __MACOSX/Food_101/onion_rings/._3216243.jpg
inflating: Food_101/onion_rings/2350117.jpg
inflating: __MACOSX/Food_101/onion_rings/._2350117.jpg
inflating: Food_101/onion_rings/1482996.jpg
inflating: __MACOSX/Food_101/onion_rings/._1482996.jpg
inflating: Food_101/onion_rings/1240654.jpg
inflating: __MACOSX/Food_101/onion_rings/._1240654.jpg
inflating: Food_101/onion_rings/734372.jpg
inflating: __MACOSX/Food_101/onion_rings/._734372.jpg
inflating: Food_101/onion_rings/3293275.jpg
inflating: __MACOSX/Food_101/onion_rings/._3293275.jpg
inflating: Food_101/onion_rings/2520654.jpg
inflating: __MACOSX/Food_101/onion_rings/._2520654.jpg
inflating: Food_101/onion_rings/1787117.jpg
inflating: __MACOSX/Food_101/onion_rings/._1787117.jpg
inflating: Food_101/onion_rings/564258.jpg
inflating: __MACOSX/Food_101/onion_rings/._564258.jpg
inflating: Food_101/onion_rings/2616404.jpg
inflating: __MACOSX/Food_101/onion_rings/._2616404.jpg
inflating: Food_101/onion_rings/1613986.jpg
inflating: __MACOSX/Food_101/onion_rings/._1613986.jpg
inflating: Food_101/onion_rings/2081251.jpg
inflating: __MACOSX/Food_101/onion_rings/._2081251.jpg
inflating: Food_101/onion_rings/2414334.jpg
inflating: __MACOSX/Food_101/onion_rings/._2414334.jpg
inflating: Food_101/onion_rings/2863521.jpg
inflating: __MACOSX/Food_101/onion_rings/._2863521.jpg
inflating: Food_101/onion_rings/2246629.jpg
inflating: __MACOSX/Food_101/onion_rings/._2246629.jpg
inflating: Food_101/onion_rings/3324385.jpg
inflating: __MACOSX/Food_101/onion_rings/._3324385.jpg
inflating: Food_101/onion_rings/1587018.jpg
inflating: __MACOSX/Food_101/onion_rings/._1587018.jpg
inflating: Food_101/onion_rings/3836635.jpg
inflating: __MACOSX/Food_101/onion_rings/._3836635.jpg
inflating: Food_101/onion_rings/138101.jpg
inflating: __MACOSX/Food_101/onion_rings/._138101.jpg
inflating: Food_101/onion_rings/586395.jpg
inflating: __MACOSX/Food_101/onion_rings/._586395.jpg
inflating: Food_101/onion_rings/1440584.jpg
inflating: __MACOSX/Food_101/onion_rings/._1440584.jpg
inflating: Food_101/onion_rings/1372779.jpg
inflating: __MACOSX/Food_101/onion_rings/._1372779.jpg
inflating: Food_101/onion_rings/3269252.jpg
inflating: __MACOSX/Food_101/onion_rings/._3269252.jpg
inflating: Food_101/onion_rings/1045637.jpg
inflating: __MACOSX/Food_101/onion_rings/._1045637.jpg
inflating: Food_101/onion_rings/382380.jpg
inflating: __MACOSX/Food_101/onion_rings/._382380.jpg
inflating: Food_101/onion_rings/3783332.jpg
inflating: __MACOSX/Food_101/onion_rings/._3783332.jpg
inflating: Food_101/onion_rings/1382893.jpg
inflating: __MACOSX/Food_101/onion_rings/._1382893.jpg
inflating: Food_101/onion_rings/461917.jpg
inflating: __MACOSX/Food_101/onion_rings/._461917.jpg
inflating: Food_101/onion_rings/395401.jpg
inflating: __MACOSX/Food_101/onion_rings/._395401.jpg
inflating: Food_101/onion_rings/2186853.jpg
inflating: __MACOSX/Food_101/onion_rings/._2186853.jpg
inflating: Food_101/onion_rings/994697.jpg
inflating: __MACOSX/Food_101/onion_rings/._994697.jpg
inflating: Food_101/onion_rings/1063425.jpg
inflating: __MACOSX/Food_101/onion_rings/._1063425.jpg
inflating: Food_101/onion_rings/3678355.jpg
inflating: __MACOSX/Food_101/onion_rings/._3678355.jpg
inflating: Food_101/onion_rings/1722811.jpg
inflating: __MACOSX/Food_101/onion_rings/._1722811.jpg
inflating: Food_101/onion_rings/2049763.jpg
inflating: __MACOSX/Food_101/onion_rings/._2049763.jpg
inflating: Food_101/onion_rings/2485834.jpg
inflating: __MACOSX/Food_101/onion_rings/._2485834.jpg
inflating: Food_101/onion_rings/532368.jpg
inflating: __MACOSX/Food_101/onion_rings/._532368.jpg
inflating: Food_101/onion_rings/1600324.jpg
inflating: __MACOSX/Food_101/onion_rings/._1600324.jpg
inflating: Food_101/onion_rings/2958760.jpg
inflating: __MACOSX/Food_101/onion_rings/._2958760.jpg
inflating: Food_101/onion_rings/2640287.jpg
inflating: __MACOSX/Food_101/onion_rings/._2640287.jpg
inflating: Food_101/onion_rings/2634506.jpg
inflating: __MACOSX/Food_101/onion_rings/._2634506.jpg
inflating: Food_101/onion_rings/1980868.jpg
inflating: __MACOSX/Food_101/onion_rings/._1980868.jpg
inflating: Food_101/onion_rings/358459.jpg
inflating: __MACOSX/Food_101/onion_rings/._358459.jpg
inflating: Food_101/onion_rings/1382661.jpg
inflating: __MACOSX/Food_101/onion_rings/._1382661.jpg
inflating: Food_101/onion_rings/3524137.jpg
inflating: __MACOSX/Food_101/onion_rings/._3524137.jpg
inflating: Food_101/onion_rings/2695109.jpg
inflating: __MACOSX/Food_101/onion_rings/._2695109.jpg
inflating: Food_101/onion_rings/1265549.jpg
inflating: __MACOSX/Food_101/onion_rings/._1265549.jpg
inflating: Food_101/onion_rings/796869.jpg
inflating: __MACOSX/Food_101/onion_rings/._796869.jpg
inflating: Food_101/onion_rings/3393317.jpg
inflating: __MACOSX/Food_101/onion_rings/._3393317.jpg
inflating: Food_101/onion_rings/294279.jpg
inflating: __MACOSX/Food_101/onion_rings/._294279.jpg
inflating: Food_101/onion_rings/923361.jpg
inflating: __MACOSX/Food_101/onion_rings/._923361.jpg
inflating: Food_101/onion_rings/2420939.jpg
inflating: __MACOSX/Food_101/onion_rings/._2420939.jpg
inflating: Food_101/onion_rings/680616.jpg
inflating: __MACOSX/Food_101/onion_rings/._680616.jpg
inflating: Food_101/onion_rings/1093313.jpg
inflating: __MACOSX/Food_101/onion_rings/._1093313.jpg
inflating: Food_101/onion_rings/3109332.jpg
inflating: __MACOSX/Food_101/onion_rings/._3109332.jpg
inflating: Food_101/onion_rings/2265637.jpg
inflating: __MACOSX/Food_101/onion_rings/._2265637.jpg
inflating: Food_101/onion_rings/640383.jpg
inflating: __MACOSX/Food_101/onion_rings/._640383.jpg
inflating: Food_101/onion_rings/685961.jpg
inflating: __MACOSX/Food_101/onion_rings/._685961.jpg
inflating: Food_101/onion_rings/1864898.jpg
inflating: __MACOSX/Food_101/onion_rings/._1864898.jpg
inflating: Food_101/onion_rings/503558.jpg
inflating: __MACOSX/Food_101/onion_rings/._503558.jpg
inflating: Food_101/onion_rings/1020126.jpg
inflating: __MACOSX/Food_101/onion_rings/._1020126.jpg
inflating: Food_101/onion_rings/1723112.jpg
inflating: __MACOSX/Food_101/onion_rings/._1723112.jpg
inflating: Food_101/onion_rings/2210928.jpg
inflating: __MACOSX/Food_101/onion_rings/._2210928.jpg
inflating: Food_101/onion_rings/2137491.jpg
inflating: __MACOSX/Food_101/onion_rings/._2137491.jpg
inflating: Food_101/onion_rings/784882.jpg
inflating: __MACOSX/Food_101/onion_rings/._784882.jpg
inflating: Food_101/onion_rings/2411104.jpg
inflating: __MACOSX/Food_101/onion_rings/._2411104.jpg
inflating: Food_101/onion_rings/3830118.jpg
inflating: __MACOSX/Food_101/onion_rings/._3830118.jpg
inflating: Food_101/onion_rings/1125512.jpg
inflating: __MACOSX/Food_101/onion_rings/._1125512.jpg
inflating: Food_101/onion_rings/209010.jpg
inflating: __MACOSX/Food_101/onion_rings/._209010.jpg
inflating: Food_101/onion_rings/3390568.jpg
inflating: __MACOSX/Food_101/onion_rings/._3390568.jpg
inflating: Food_101/onion_rings/421289.jpg
inflating: __MACOSX/Food_101/onion_rings/._421289.jpg
inflating: Food_101/onion_rings/247357.jpg
inflating: __MACOSX/Food_101/onion_rings/._247357.jpg
inflating: Food_101/onion_rings/93684.jpg
inflating: __MACOSX/Food_101/onion_rings/._93684.jpg
inflating: Food_101/onion_rings/3401770.jpg
inflating: __MACOSX/Food_101/onion_rings/._3401770.jpg
inflating: Food_101/onion_rings/450303.jpg
inflating: __MACOSX/Food_101/onion_rings/._450303.jpg
inflating: Food_101/onion_rings/962738.jpg
inflating: __MACOSX/Food_101/onion_rings/._962738.jpg
inflating: Food_101/onion_rings/1287888.jpg
inflating: __MACOSX/Food_101/onion_rings/._1287888.jpg
inflating: Food_101/onion_rings/1936311.jpg
inflating: __MACOSX/Food_101/onion_rings/._1936311.jpg
inflating: Food_101/onion_rings/824751.jpg
inflating: __MACOSX/Food_101/onion_rings/._824751.jpg
inflating: Food_101/onion_rings/1022297.jpg
inflating: __MACOSX/Food_101/onion_rings/._1022297.jpg
inflating: Food_101/onion_rings/3708074.jpg
inflating: __MACOSX/Food_101/onion_rings/._3708074.jpg
inflating: Food_101/onion_rings/1076822.jpg
inflating: __MACOSX/Food_101/onion_rings/._1076822.jpg
inflating: Food_101/onion_rings/326757.jpg
inflating: __MACOSX/Food_101/onion_rings/._326757.jpg
inflating: Food_101/onion_rings/892346.jpg
inflating: __MACOSX/Food_101/onion_rings/._892346.jpg
inflating: Food_101/onion_rings/1995848.jpg
inflating: __MACOSX/Food_101/onion_rings/._1995848.jpg
inflating: Food_101/onion_rings/2542011.jpg
inflating: __MACOSX/Food_101/onion_rings/._2542011.jpg
inflating: Food_101/onion_rings/3164108.jpg
inflating: __MACOSX/Food_101/onion_rings/._3164108.jpg
inflating: Food_101/onion_rings/1204015.jpg
inflating: __MACOSX/Food_101/onion_rings/._1204015.jpg
inflating: Food_101/onion_rings/1365366.jpg
inflating: __MACOSX/Food_101/onion_rings/._1365366.jpg
inflating: Food_101/onion_rings/711132.jpg
inflating: __MACOSX/Food_101/onion_rings/._711132.jpg
inflating: Food_101/onion_rings/810621.jpg
inflating: __MACOSX/Food_101/onion_rings/._810621.jpg
inflating: Food_101/onion_rings/131668.jpg
inflating: __MACOSX/Food_101/onion_rings/._131668.jpg
inflating: Food_101/onion_rings/3765111.jpg
inflating: __MACOSX/Food_101/onion_rings/._3765111.jpg
inflating: Food_101/onion_rings/2448474.jpg
inflating: __MACOSX/Food_101/onion_rings/._2448474.jpg
inflating: Food_101/onion_rings/3875055.jpg
inflating: __MACOSX/Food_101/onion_rings/._3875055.jpg
inflating: Food_101/onion_rings/3089484.jpg
inflating: __MACOSX/Food_101/onion_rings/._3089484.jpg
inflating: Food_101/onion_rings/2227571.jpg
inflating: __MACOSX/Food_101/onion_rings/._2227571.jpg
inflating: Food_101/onion_rings/342428.jpg
inflating: __MACOSX/Food_101/onion_rings/._342428.jpg
inflating: Food_101/onion_rings/3468670.jpg
inflating: __MACOSX/Food_101/onion_rings/._3468670.jpg
inflating: Food_101/onion_rings/2993404.jpg
inflating: __MACOSX/Food_101/onion_rings/._2993404.jpg
inflating: Food_101/onion_rings/2227773.jpg
inflating: __MACOSX/Food_101/onion_rings/._2227773.jpg
inflating: Food_101/onion_rings/567424.jpg
inflating: __MACOSX/Food_101/onion_rings/._567424.jpg
inflating: Food_101/onion_rings/113634.jpg
inflating: __MACOSX/Food_101/onion_rings/._113634.jpg
inflating: Food_101/onion_rings/343097.jpg
inflating: __MACOSX/Food_101/onion_rings/._343097.jpg
inflating: Food_101/onion_rings/944880.jpg
inflating: __MACOSX/Food_101/onion_rings/._944880.jpg
inflating: Food_101/onion_rings/2423992.jpg
inflating: __MACOSX/Food_101/onion_rings/._2423992.jpg
inflating: Food_101/onion_rings/3822337.jpg
inflating: __MACOSX/Food_101/onion_rings/._3822337.jpg
inflating: Food_101/onion_rings/1298166.jpg
inflating: __MACOSX/Food_101/onion_rings/._1298166.jpg
inflating: Food_101/onion_rings/924635.jpg
inflating: __MACOSX/Food_101/onion_rings/._924635.jpg
inflating: Food_101/onion_rings/3836418.jpg
inflating: __MACOSX/Food_101/onion_rings/._3836418.jpg
inflating: Food_101/onion_rings/2006926.jpg
inflating: __MACOSX/Food_101/onion_rings/._2006926.jpg
inflating: Food_101/onion_rings/2508242.jpg
inflating: __MACOSX/Food_101/onion_rings/._2508242.jpg
inflating: Food_101/onion_rings/874764.jpg
inflating: __MACOSX/Food_101/onion_rings/._874764.jpg
inflating: Food_101/onion_rings/3260503.jpg
inflating: __MACOSX/Food_101/onion_rings/._3260503.jpg
inflating: Food_101/onion_rings/2692111.jpg
inflating: __MACOSX/Food_101/onion_rings/._2692111.jpg
inflating: Food_101/onion_rings/2285856.jpg
inflating: __MACOSX/Food_101/onion_rings/._2285856.jpg
inflating: Food_101/onion_rings/1095820.jpg
inflating: __MACOSX/Food_101/onion_rings/._1095820.jpg
inflating: Food_101/onion_rings/2258438.jpg
inflating: __MACOSX/Food_101/onion_rings/._2258438.jpg
inflating: Food_101/onion_rings/3287373.jpg
inflating: __MACOSX/Food_101/onion_rings/._3287373.jpg
inflating: Food_101/onion_rings/2401070.jpg
inflating: __MACOSX/Food_101/onion_rings/._2401070.jpg
inflating: Food_101/onion_rings/2083469.jpg
inflating: __MACOSX/Food_101/onion_rings/._2083469.jpg
inflating: Food_101/onion_rings/1923240.jpg
inflating: __MACOSX/Food_101/onion_rings/._1923240.jpg
inflating: Food_101/onion_rings/1282274.jpg
inflating: __MACOSX/Food_101/onion_rings/._1282274.jpg
inflating: Food_101/onion_rings/3853848.jpg
inflating: __MACOSX/Food_101/onion_rings/._3853848.jpg
inflating: Food_101/onion_rings/3629928.jpg
inflating: __MACOSX/Food_101/onion_rings/._3629928.jpg
inflating: Food_101/onion_rings/1874873.jpg
inflating: __MACOSX/Food_101/onion_rings/._1874873.jpg
inflating: Food_101/onion_rings/526520.jpg
inflating: __MACOSX/Food_101/onion_rings/._526520.jpg
inflating: Food_101/onion_rings/3574301.jpg
inflating: __MACOSX/Food_101/onion_rings/._3574301.jpg
inflating: Food_101/onion_rings/2521001.jpg
inflating: __MACOSX/Food_101/onion_rings/._2521001.jpg
inflating: Food_101/onion_rings/1364281.jpg
inflating: __MACOSX/Food_101/onion_rings/._1364281.jpg
inflating: Food_101/onion_rings/1630341.jpg
inflating: __MACOSX/Food_101/onion_rings/._1630341.jpg
inflating: Food_101/onion_rings/923984.jpg
inflating: __MACOSX/Food_101/onion_rings/._923984.jpg
inflating: Food_101/onion_rings/914697.jpg
inflating: __MACOSX/Food_101/onion_rings/._914697.jpg
inflating: Food_101/onion_rings/250175.jpg
inflating: __MACOSX/Food_101/onion_rings/._250175.jpg
inflating: Food_101/onion_rings/402468.jpg
inflating: __MACOSX/Food_101/onion_rings/._402468.jpg
inflating: Food_101/onion_rings/2093337.jpg
inflating: __MACOSX/Food_101/onion_rings/._2093337.jpg
inflating: Food_101/onion_rings/96707.jpg
inflating: __MACOSX/Food_101/onion_rings/._96707.jpg
inflating: Food_101/onion_rings/990226.jpg
inflating: __MACOSX/Food_101/onion_rings/._990226.jpg
inflating: Food_101/onion_rings/2194458.jpg
inflating: __MACOSX/Food_101/onion_rings/._2194458.jpg
inflating: Food_101/onion_rings/2894226.jpg
inflating: __MACOSX/Food_101/onion_rings/._2894226.jpg
inflating: Food_101/onion_rings/2418871.jpg
inflating: __MACOSX/Food_101/onion_rings/._2418871.jpg
inflating: Food_101/onion_rings/146022.jpg
inflating: __MACOSX/Food_101/onion_rings/._146022.jpg
inflating: Food_101/onion_rings/1741220.jpg
inflating: __MACOSX/Food_101/onion_rings/._1741220.jpg
inflating: Food_101/onion_rings/1467539.jpg
inflating: __MACOSX/Food_101/onion_rings/._1467539.jpg
inflating: Food_101/onion_rings/1945852.jpg
inflating: __MACOSX/Food_101/onion_rings/._1945852.jpg
inflating: Food_101/onion_rings/1218405.jpg
inflating: __MACOSX/Food_101/onion_rings/._1218405.jpg
inflating: Food_101/onion_rings/2559420.jpg
inflating: __MACOSX/Food_101/onion_rings/._2559420.jpg
inflating: Food_101/onion_rings/1129674.jpg
inflating: __MACOSX/Food_101/onion_rings/._1129674.jpg
inflating: Food_101/onion_rings/3774623.jpg
inflating: __MACOSX/Food_101/onion_rings/._3774623.jpg
inflating: Food_101/onion_rings/890030.jpg
inflating: __MACOSX/Food_101/onion_rings/._890030.jpg
inflating: Food_101/onion_rings/1808761.jpg
inflating: __MACOSX/Food_101/onion_rings/._1808761.jpg
inflating: Food_101/onion_rings/634572.jpg
inflating: __MACOSX/Food_101/onion_rings/._634572.jpg
inflating: Food_101/onion_rings/650792.jpg
inflating: __MACOSX/Food_101/onion_rings/._650792.jpg
inflating: Food_101/onion_rings/2527908.jpg
inflating: __MACOSX/Food_101/onion_rings/._2527908.jpg
inflating: Food_101/onion_rings/2977546.jpg
inflating: __MACOSX/Food_101/onion_rings/._2977546.jpg
inflating: Food_101/onion_rings/1267366.jpg
inflating: __MACOSX/Food_101/onion_rings/._1267366.jpg
inflating: Food_101/onion_rings/3112138.jpg
inflating: __MACOSX/Food_101/onion_rings/._3112138.jpg
inflating: Food_101/onion_rings/1294775.jpg
inflating: __MACOSX/Food_101/onion_rings/._1294775.jpg
inflating: Food_101/onion_rings/487502.jpg
inflating: __MACOSX/Food_101/onion_rings/._487502.jpg
inflating: Food_101/onion_rings/2759088.jpg
inflating: __MACOSX/Food_101/onion_rings/._2759088.jpg
inflating: Food_101/onion_rings/2078584.jpg
inflating: __MACOSX/Food_101/onion_rings/._2078584.jpg
inflating: Food_101/onion_rings/1842522.jpg
inflating: __MACOSX/Food_101/onion_rings/._1842522.jpg
inflating: Food_101/onion_rings/2618003.jpg
inflating: __MACOSX/Food_101/onion_rings/._2618003.jpg
inflating: Food_101/onion_rings/2357291.jpg
inflating: __MACOSX/Food_101/onion_rings/._2357291.jpg
inflating: Food_101/onion_rings/3903449.jpg
inflating: __MACOSX/Food_101/onion_rings/._3903449.jpg
inflating: Food_101/onion_rings/3021096.jpg
inflating: __MACOSX/Food_101/onion_rings/._3021096.jpg
inflating: Food_101/onion_rings/1655323.jpg
inflating: __MACOSX/Food_101/onion_rings/._1655323.jpg
inflating: Food_101/onion_rings/1733930.jpg
inflating: __MACOSX/Food_101/onion_rings/._1733930.jpg
inflating: Food_101/onion_rings/169835.jpg
inflating: __MACOSX/Food_101/onion_rings/._169835.jpg
inflating: Food_101/onion_rings/2716004.jpg
inflating: __MACOSX/Food_101/onion_rings/._2716004.jpg
inflating: Food_101/onion_rings/3063516.jpg
inflating: __MACOSX/Food_101/onion_rings/._3063516.jpg
inflating: Food_101/onion_rings/307615.jpg
inflating: __MACOSX/Food_101/onion_rings/._307615.jpg
inflating: Food_101/onion_rings/2852049.jpg
inflating: __MACOSX/Food_101/onion_rings/._2852049.jpg
inflating: Food_101/onion_rings/466503.jpg
inflating: __MACOSX/Food_101/onion_rings/._466503.jpg
inflating: Food_101/onion_rings/3821371.jpg
inflating: __MACOSX/Food_101/onion_rings/._3821371.jpg
inflating: Food_101/onion_rings/3022006.jpg
inflating: __MACOSX/Food_101/onion_rings/._3022006.jpg
inflating: Food_101/onion_rings/2505215.jpg
inflating: __MACOSX/Food_101/onion_rings/._2505215.jpg
inflating: Food_101/onion_rings/83644.jpg
inflating: __MACOSX/Food_101/onion_rings/._83644.jpg
inflating: Food_101/onion_rings/3881070.jpg
inflating: __MACOSX/Food_101/onion_rings/._3881070.jpg
inflating: Food_101/onion_rings/2699655.jpg
inflating: __MACOSX/Food_101/onion_rings/._2699655.jpg
inflating: Food_101/onion_rings/3539969.jpg
inflating: __MACOSX/Food_101/onion_rings/._3539969.jpg
inflating: Food_101/onion_rings/3013152.jpg
inflating: __MACOSX/Food_101/onion_rings/._3013152.jpg
inflating: Food_101/onion_rings/117535.jpg
inflating: __MACOSX/Food_101/onion_rings/._117535.jpg
inflating: Food_101/onion_rings/550304.jpg
inflating: __MACOSX/Food_101/onion_rings/._550304.jpg
inflating: Food_101/onion_rings/2396578.jpg
inflating: __MACOSX/Food_101/onion_rings/._2396578.jpg
inflating: Food_101/onion_rings/3039744.jpg
inflating: __MACOSX/Food_101/onion_rings/._3039744.jpg
inflating: Food_101/onion_rings/497673.jpg
inflating: __MACOSX/Food_101/onion_rings/._497673.jpg
inflating: Food_101/onion_rings/1861528.jpg
inflating: __MACOSX/Food_101/onion_rings/._1861528.jpg
inflating: Food_101/onion_rings/2959295.jpg
inflating: __MACOSX/Food_101/onion_rings/._2959295.jpg
inflating: Food_101/onion_rings/948855.jpg
inflating: __MACOSX/Food_101/onion_rings/._948855.jpg
inflating: Food_101/onion_rings/231588.jpg
inflating: __MACOSX/Food_101/onion_rings/._231588.jpg
inflating: Food_101/onion_rings/2752082.jpg
inflating: __MACOSX/Food_101/onion_rings/._2752082.jpg
inflating: Food_101/onion_rings/3790940.jpg
inflating: __MACOSX/Food_101/onion_rings/._3790940.jpg
inflating: Food_101/onion_rings/1248769.jpg
inflating: __MACOSX/Food_101/onion_rings/._1248769.jpg
inflating: Food_101/onion_rings/1221091.jpg
inflating: __MACOSX/Food_101/onion_rings/._1221091.jpg
inflating: Food_101/onion_rings/1686967.jpg
inflating: __MACOSX/Food_101/onion_rings/._1686967.jpg
inflating: Food_101/onion_rings/2988618.jpg
inflating: __MACOSX/Food_101/onion_rings/._2988618.jpg
inflating: Food_101/onion_rings/1355089.jpg
inflating: __MACOSX/Food_101/onion_rings/._1355089.jpg
inflating: Food_101/onion_rings/1937784.jpg
inflating: __MACOSX/Food_101/onion_rings/._1937784.jpg
inflating: Food_101/onion_rings/1620811.jpg
inflating: __MACOSX/Food_101/onion_rings/._1620811.jpg
inflating: Food_101/onion_rings/131732.jpg
inflating: __MACOSX/Food_101/onion_rings/._131732.jpg
inflating: Food_101/onion_rings/1685922.jpg
inflating: __MACOSX/Food_101/onion_rings/._1685922.jpg
inflating: Food_101/onion_rings/1868727.jpg
inflating: __MACOSX/Food_101/onion_rings/._1868727.jpg
inflating: Food_101/onion_rings/3747215.jpg
inflating: __MACOSX/Food_101/onion_rings/._3747215.jpg
inflating: Food_101/onion_rings/1008652.jpg
inflating: __MACOSX/Food_101/onion_rings/._1008652.jpg
inflating: Food_101/onion_rings/3907214.jpg
inflating: __MACOSX/Food_101/onion_rings/._3907214.jpg
inflating: Food_101/onion_rings/2577721.jpg
inflating: __MACOSX/Food_101/onion_rings/._2577721.jpg
inflating: Food_101/onion_rings/3799233.jpg
inflating: __MACOSX/Food_101/onion_rings/._3799233.jpg
inflating: Food_101/onion_rings/1259499.jpg
inflating: __MACOSX/Food_101/onion_rings/._1259499.jpg
inflating: Food_101/onion_rings/2485400.jpg
inflating: __MACOSX/Food_101/onion_rings/._2485400.jpg
inflating: Food_101/onion_rings/1987494.jpg
inflating: __MACOSX/Food_101/onion_rings/._1987494.jpg
inflating: Food_101/onion_rings/3491012.jpg
inflating: __MACOSX/Food_101/onion_rings/._3491012.jpg
inflating: Food_101/onion_rings/1134746.jpg
inflating: __MACOSX/Food_101/onion_rings/._1134746.jpg
inflating: Food_101/onion_rings/796113.jpg
inflating: __MACOSX/Food_101/onion_rings/._796113.jpg
inflating: Food_101/onion_rings/2463146.jpg
inflating: __MACOSX/Food_101/onion_rings/._2463146.jpg
inflating: Food_101/onion_rings/3018370.jpg
inflating: __MACOSX/Food_101/onion_rings/._3018370.jpg
inflating: Food_101/onion_rings/2591111.jpg
inflating: __MACOSX/Food_101/onion_rings/._2591111.jpg
inflating: Food_101/onion_rings/3213706.jpg
inflating: __MACOSX/Food_101/onion_rings/._3213706.jpg
inflating: Food_101/onion_rings/1717844.jpg
inflating: __MACOSX/Food_101/onion_rings/._1717844.jpg
inflating: Food_101/onion_rings/886255.jpg
inflating: __MACOSX/Food_101/onion_rings/._886255.jpg
inflating: Food_101/onion_rings/415945.jpg
inflating: __MACOSX/Food_101/onion_rings/._415945.jpg
inflating: Food_101/onion_rings/2538482.jpg
inflating: __MACOSX/Food_101/onion_rings/._2538482.jpg
inflating: Food_101/onion_rings/538182.jpg
inflating: __MACOSX/Food_101/onion_rings/._538182.jpg
inflating: Food_101/onion_rings/2315039.jpg
inflating: __MACOSX/Food_101/onion_rings/._2315039.jpg
inflating: Food_101/onion_rings/546460.jpg
inflating: __MACOSX/Food_101/onion_rings/._546460.jpg
inflating: Food_101/onion_rings/2889617.jpg
inflating: __MACOSX/Food_101/onion_rings/._2889617.jpg
inflating: Food_101/onion_rings/3104702.jpg
inflating: __MACOSX/Food_101/onion_rings/._3104702.jpg
inflating: Food_101/onion_rings/1203848.jpg
inflating: __MACOSX/Food_101/onion_rings/._1203848.jpg
inflating: Food_101/onion_rings/689068.jpg
inflating: __MACOSX/Food_101/onion_rings/._689068.jpg
inflating: Food_101/onion_rings/3359495.jpg
inflating: __MACOSX/Food_101/onion_rings/._3359495.jpg
inflating: Food_101/onion_rings/920620.jpg
inflating: __MACOSX/Food_101/onion_rings/._920620.jpg
inflating: Food_101/onion_rings/3312655.jpg
inflating: __MACOSX/Food_101/onion_rings/._3312655.jpg
inflating: Food_101/onion_rings/1796044.jpg
inflating: __MACOSX/Food_101/onion_rings/._1796044.jpg
inflating: Food_101/onion_rings/1166846.jpg
inflating: __MACOSX/Food_101/onion_rings/._1166846.jpg
inflating: Food_101/onion_rings/2675843.jpg
inflating: __MACOSX/Food_101/onion_rings/._2675843.jpg
inflating: Food_101/onion_rings/1859576.jpg
inflating: __MACOSX/Food_101/onion_rings/._1859576.jpg
inflating: Food_101/onion_rings/2996119.jpg
inflating: __MACOSX/Food_101/onion_rings/._2996119.jpg
inflating: Food_101/onion_rings/74527.jpg
inflating: __MACOSX/Food_101/onion_rings/._74527.jpg
inflating: Food_101/onion_rings/2567582.jpg
inflating: __MACOSX/Food_101/onion_rings/._2567582.jpg
inflating: Food_101/onion_rings/1671634.jpg
inflating: __MACOSX/Food_101/onion_rings/._1671634.jpg
inflating: Food_101/onion_rings/524839.jpg
inflating: __MACOSX/Food_101/onion_rings/._524839.jpg
inflating: Food_101/onion_rings/721735.jpg
inflating: __MACOSX/Food_101/onion_rings/._721735.jpg
inflating: Food_101/onion_rings/2573722.jpg
inflating: __MACOSX/Food_101/onion_rings/._2573722.jpg
inflating: Food_101/onion_rings/202694.jpg
inflating: __MACOSX/Food_101/onion_rings/._202694.jpg
inflating: Food_101/onion_rings/3073824.jpg
inflating: __MACOSX/Food_101/onion_rings/._3073824.jpg
inflating: Food_101/onion_rings/1564732.jpg
inflating: __MACOSX/Food_101/onion_rings/._1564732.jpg
inflating: Food_101/onion_rings/2825890.jpg
inflating: __MACOSX/Food_101/onion_rings/._2825890.jpg
inflating: Food_101/onion_rings/3715093.jpg
inflating: __MACOSX/Food_101/onion_rings/._3715093.jpg
inflating: Food_101/onion_rings/3586643.jpg
inflating: __MACOSX/Food_101/onion_rings/._3586643.jpg
inflating: Food_101/onion_rings/70557.jpg
inflating: __MACOSX/Food_101/onion_rings/._70557.jpg
inflating: Food_101/onion_rings/2727446.jpg
inflating: __MACOSX/Food_101/onion_rings/._2727446.jpg
inflating: Food_101/onion_rings/176634.jpg
inflating: __MACOSX/Food_101/onion_rings/._176634.jpg
inflating: Food_101/onion_rings/3373686.jpg
inflating: __MACOSX/Food_101/onion_rings/._3373686.jpg
inflating: Food_101/onion_rings/1815557.jpg
inflating: __MACOSX/Food_101/onion_rings/._1815557.jpg
inflating: Food_101/onion_rings/590184.jpg
inflating: __MACOSX/Food_101/onion_rings/._590184.jpg
inflating: Food_101/onion_rings/1352964.jpg
inflating: __MACOSX/Food_101/onion_rings/._1352964.jpg
inflating: Food_101/onion_rings/647116.jpg
inflating: __MACOSX/Food_101/onion_rings/._647116.jpg
inflating: Food_101/onion_rings/2093352.jpg
inflating: __MACOSX/Food_101/onion_rings/._2093352.jpg
inflating: Food_101/onion_rings/211414.jpg
inflating: __MACOSX/Food_101/onion_rings/._211414.jpg
inflating: Food_101/onion_rings/2291700.jpg
inflating: __MACOSX/Food_101/onion_rings/._2291700.jpg
inflating: Food_101/onion_rings/2444400.jpg
inflating: __MACOSX/Food_101/onion_rings/._2444400.jpg
inflating: Food_101/onion_rings/1059490.jpg
inflating: __MACOSX/Food_101/onion_rings/._1059490.jpg
inflating: Food_101/onion_rings/2208445.jpg
inflating: __MACOSX/Food_101/onion_rings/._2208445.jpg
inflating: Food_101/onion_rings/598043.jpg
inflating: __MACOSX/Food_101/onion_rings/._598043.jpg
inflating: Food_101/onion_rings/1217784.jpg
inflating: __MACOSX/Food_101/onion_rings/._1217784.jpg
inflating: Food_101/onion_rings/2406828.jpg
inflating: __MACOSX/Food_101/onion_rings/._2406828.jpg
inflating: Food_101/onion_rings/2664967.jpg
inflating: __MACOSX/Food_101/onion_rings/._2664967.jpg
inflating: Food_101/onion_rings/210905.jpg
inflating: __MACOSX/Food_101/onion_rings/._210905.jpg
inflating: Food_101/onion_rings/2656862.jpg
inflating: __MACOSX/Food_101/onion_rings/._2656862.jpg
inflating: Food_101/onion_rings/1397033.jpg
inflating: __MACOSX/Food_101/onion_rings/._1397033.jpg
inflating: Food_101/onion_rings/2720076.jpg
inflating: __MACOSX/Food_101/onion_rings/._2720076.jpg
inflating: Food_101/onion_rings/3547368.jpg
inflating: __MACOSX/Food_101/onion_rings/._3547368.jpg
inflating: Food_101/onion_rings/1969503.jpg
inflating: __MACOSX/Food_101/onion_rings/._1969503.jpg
inflating: Food_101/onion_rings/898541.jpg
inflating: __MACOSX/Food_101/onion_rings/._898541.jpg
inflating: Food_101/onion_rings/741605.jpg
inflating: __MACOSX/Food_101/onion_rings/._741605.jpg
inflating: Food_101/onion_rings/1522438.jpg
inflating: __MACOSX/Food_101/onion_rings/._1522438.jpg
inflating: Food_101/onion_rings/1147043.jpg
inflating: __MACOSX/Food_101/onion_rings/._1147043.jpg
inflating: Food_101/onion_rings/2048152.jpg
inflating: __MACOSX/Food_101/onion_rings/._2048152.jpg
inflating: Food_101/onion_rings/738107.jpg
inflating: __MACOSX/Food_101/onion_rings/._738107.jpg
inflating: Food_101/onion_rings/2888905.jpg
inflating: __MACOSX/Food_101/onion_rings/._2888905.jpg
inflating: Food_101/onion_rings/3869178.jpg
inflating: __MACOSX/Food_101/onion_rings/._3869178.jpg
inflating: Food_101/onion_rings/2883105.jpg
inflating: __MACOSX/Food_101/onion_rings/._2883105.jpg
inflating: Food_101/onion_rings/3697898.jpg
inflating: __MACOSX/Food_101/onion_rings/._3697898.jpg
inflating: Food_101/onion_rings/3516480.jpg
inflating: __MACOSX/Food_101/onion_rings/._3516480.jpg
inflating: Food_101/onion_rings/527062.jpg
inflating: __MACOSX/Food_101/onion_rings/._527062.jpg
inflating: Food_101/onion_rings/533003.jpg
inflating: __MACOSX/Food_101/onion_rings/._533003.jpg
inflating: Food_101/onion_rings/1724597.jpg
inflating: __MACOSX/Food_101/onion_rings/._1724597.jpg
inflating: Food_101/onion_rings/1748459.jpg
inflating: __MACOSX/Food_101/onion_rings/._1748459.jpg
inflating: Food_101/onion_rings/2635848.jpg
inflating: __MACOSX/Food_101/onion_rings/._2635848.jpg
inflating: Food_101/onion_rings/2199053.jpg
inflating: __MACOSX/Food_101/onion_rings/._2199053.jpg
inflating: Food_101/onion_rings/569457.jpg
inflating: __MACOSX/Food_101/onion_rings/._569457.jpg
inflating: Food_101/onion_rings/781621.jpg
inflating: __MACOSX/Food_101/onion_rings/._781621.jpg
inflating: Food_101/onion_rings/1683933.jpg
inflating: __MACOSX/Food_101/onion_rings/._1683933.jpg
inflating: Food_101/onion_rings/2382346.jpg
inflating: __MACOSX/Food_101/onion_rings/._2382346.jpg
inflating: Food_101/onion_rings/1408748.jpg
inflating: __MACOSX/Food_101/onion_rings/._1408748.jpg
inflating: Food_101/onion_rings/3352070.jpg
inflating: __MACOSX/Food_101/onion_rings/._3352070.jpg
inflating: Food_101/onion_rings/2905612.jpg
inflating: __MACOSX/Food_101/onion_rings/._2905612.jpg
inflating: Food_101/onion_rings/3204949.jpg
inflating: __MACOSX/Food_101/onion_rings/._3204949.jpg
inflating: Food_101/onion_rings/337566.jpg
inflating: __MACOSX/Food_101/onion_rings/._337566.jpg
inflating: Food_101/onion_rings/2322319.jpg
inflating: __MACOSX/Food_101/onion_rings/._2322319.jpg
inflating: Food_101/onion_rings/480008.jpg
inflating: __MACOSX/Food_101/onion_rings/._480008.jpg
inflating: Food_101/onion_rings/197783.jpg
inflating: __MACOSX/Food_101/onion_rings/._197783.jpg
inflating: Food_101/onion_rings/1594987.jpg
inflating: __MACOSX/Food_101/onion_rings/._1594987.jpg
inflating: Food_101/onion_rings/2912385.jpg
inflating: __MACOSX/Food_101/onion_rings/._2912385.jpg
inflating: Food_101/onion_rings/779429.jpg
inflating: __MACOSX/Food_101/onion_rings/._779429.jpg
inflating: Food_101/onion_rings/1045865.jpg
inflating: __MACOSX/Food_101/onion_rings/._1045865.jpg
inflating: Food_101/onion_rings/393561.jpg
inflating: __MACOSX/Food_101/onion_rings/._393561.jpg
inflating: Food_101/onion_rings/3010947.jpg
inflating: __MACOSX/Food_101/onion_rings/._3010947.jpg
inflating: Food_101/onion_rings/920179.jpg
inflating: __MACOSX/Food_101/onion_rings/._920179.jpg
inflating: Food_101/onion_rings/3718013.jpg
inflating: __MACOSX/Food_101/onion_rings/._3718013.jpg
inflating: Food_101/onion_rings/3347938.jpg
inflating: __MACOSX/Food_101/onion_rings/._3347938.jpg
inflating: Food_101/onion_rings/2890219.jpg
inflating: __MACOSX/Food_101/onion_rings/._2890219.jpg
inflating: Food_101/onion_rings/2377536.jpg
inflating: __MACOSX/Food_101/onion_rings/._2377536.jpg
inflating: Food_101/onion_rings/607726.jpg
inflating: __MACOSX/Food_101/onion_rings/._607726.jpg
inflating: Food_101/onion_rings/1949982.jpg
inflating: __MACOSX/Food_101/onion_rings/._1949982.jpg
inflating: Food_101/onion_rings/1339490.jpg
inflating: __MACOSX/Food_101/onion_rings/._1339490.jpg
inflating: Food_101/onion_rings/3208746.jpg
inflating: __MACOSX/Food_101/onion_rings/._3208746.jpg
inflating: Food_101/onion_rings/2876011.jpg
inflating: __MACOSX/Food_101/onion_rings/._2876011.jpg
inflating: Food_101/onion_rings/1306648.jpg
inflating: __MACOSX/Food_101/onion_rings/._1306648.jpg
inflating: Food_101/onion_rings/3575079.jpg
inflating: __MACOSX/Food_101/onion_rings/._3575079.jpg
inflating: Food_101/onion_rings/2728986.jpg
inflating: __MACOSX/Food_101/onion_rings/._2728986.jpg
inflating: Food_101/onion_rings/85913.jpg
inflating: __MACOSX/Food_101/onion_rings/._85913.jpg
inflating: Food_101/onion_rings/1121065.jpg
inflating: __MACOSX/Food_101/onion_rings/._1121065.jpg
inflating: Food_101/onion_rings/505406.jpg
inflating: __MACOSX/Food_101/onion_rings/._505406.jpg
inflating: Food_101/onion_rings/2355218.jpg
inflating: __MACOSX/Food_101/onion_rings/._2355218.jpg
inflating: Food_101/onion_rings/2144384.jpg
inflating: __MACOSX/Food_101/onion_rings/._2144384.jpg
inflating: Food_101/onion_rings/297302.jpg
inflating: __MACOSX/Food_101/onion_rings/._297302.jpg
inflating: Food_101/onion_rings/2606844.jpg
inflating: __MACOSX/Food_101/onion_rings/._2606844.jpg
inflating: Food_101/onion_rings/135519.jpg
inflating: __MACOSX/Food_101/onion_rings/._135519.jpg
inflating: Food_101/onion_rings/231923.jpg
inflating: __MACOSX/Food_101/onion_rings/._231923.jpg
inflating: Food_101/onion_rings/98200.jpg
inflating: __MACOSX/Food_101/onion_rings/._98200.jpg
inflating: Food_101/onion_rings/3023354.jpg
inflating: __MACOSX/Food_101/onion_rings/._3023354.jpg
inflating: Food_101/onion_rings/681387.jpg
inflating: __MACOSX/Food_101/onion_rings/._681387.jpg
inflating: Food_101/onion_rings/2020560.jpg
inflating: __MACOSX/Food_101/onion_rings/._2020560.jpg
inflating: Food_101/onion_rings/311239.jpg
inflating: __MACOSX/Food_101/onion_rings/._311239.jpg
inflating: Food_101/onion_rings/3494133.jpg
inflating: __MACOSX/Food_101/onion_rings/._3494133.jpg
inflating: Food_101/onion_rings/83998.jpg
inflating: __MACOSX/Food_101/onion_rings/._83998.jpg
inflating: Food_101/onion_rings/2495845.jpg
inflating: __MACOSX/Food_101/onion_rings/._2495845.jpg
inflating: Food_101/onion_rings/477318.jpg
inflating: __MACOSX/Food_101/onion_rings/._477318.jpg
inflating: Food_101/onion_rings/2801307.jpg
inflating: __MACOSX/Food_101/onion_rings/._2801307.jpg
inflating: Food_101/onion_rings/2130571.jpg
inflating: __MACOSX/Food_101/onion_rings/._2130571.jpg
inflating: Food_101/onion_rings/843839.jpg
inflating: __MACOSX/Food_101/onion_rings/._843839.jpg
inflating: Food_101/onion_rings/439507.jpg
inflating: __MACOSX/Food_101/onion_rings/._439507.jpg
inflating: Food_101/onion_rings/2106028.jpg
inflating: __MACOSX/Food_101/onion_rings/._2106028.jpg
inflating: Food_101/onion_rings/28869.jpg
inflating: __MACOSX/Food_101/onion_rings/._28869.jpg
inflating: Food_101/onion_rings/1225453.jpg
inflating: __MACOSX/Food_101/onion_rings/._1225453.jpg
inflating: Food_101/onion_rings/3814157.jpg
inflating: __MACOSX/Food_101/onion_rings/._3814157.jpg
inflating: Food_101/onion_rings/244943.jpg
inflating: __MACOSX/Food_101/onion_rings/._244943.jpg
inflating: Food_101/onion_rings/2535611.jpg
inflating: __MACOSX/Food_101/onion_rings/._2535611.jpg
inflating: Food_101/onion_rings/3235005.jpg
inflating: __MACOSX/Food_101/onion_rings/._3235005.jpg
inflating: Food_101/onion_rings/2827105.jpg
inflating: __MACOSX/Food_101/onion_rings/._2827105.jpg
inflating: Food_101/onion_rings/3475685.jpg
inflating: __MACOSX/Food_101/onion_rings/._3475685.jpg
inflating: Food_101/onion_rings/2498632.jpg
inflating: __MACOSX/Food_101/onion_rings/._2498632.jpg
inflating: Food_101/onion_rings/2950825.jpg
inflating: __MACOSX/Food_101/onion_rings/._2950825.jpg
inflating: Food_101/onion_rings/134993.jpg
inflating: __MACOSX/Food_101/onion_rings/._134993.jpg
inflating: Food_101/onion_rings/3421161.jpg
inflating: __MACOSX/Food_101/onion_rings/._3421161.jpg
inflating: Food_101/onion_rings/1499487.jpg
inflating: __MACOSX/Food_101/onion_rings/._1499487.jpg
inflating: Food_101/onion_rings/3422454.jpg
inflating: __MACOSX/Food_101/onion_rings/._3422454.jpg
inflating: Food_101/onion_rings/2579976.jpg
inflating: __MACOSX/Food_101/onion_rings/._2579976.jpg
inflating: Food_101/onion_rings/869346.jpg
inflating: __MACOSX/Food_101/onion_rings/._869346.jpg
inflating: Food_101/onion_rings/2754690.jpg
inflating: __MACOSX/Food_101/onion_rings/._2754690.jpg
inflating: Food_101/onion_rings/1987740.jpg
inflating: __MACOSX/Food_101/onion_rings/._1987740.jpg
inflating: Food_101/onion_rings/1811722.jpg
inflating: __MACOSX/Food_101/onion_rings/._1811722.jpg
inflating: Food_101/onion_rings/2400906.jpg
inflating: __MACOSX/Food_101/onion_rings/._2400906.jpg
inflating: Food_101/onion_rings/330146.jpg
inflating: __MACOSX/Food_101/onion_rings/._330146.jpg
inflating: Food_101/onion_rings/2313506.jpg
inflating: __MACOSX/Food_101/onion_rings/._2313506.jpg
inflating: Food_101/onion_rings/1160014.jpg
inflating: __MACOSX/Food_101/onion_rings/._1160014.jpg
inflating: Food_101/onion_rings/2926347.jpg
inflating: __MACOSX/Food_101/onion_rings/._2926347.jpg
inflating: Food_101/onion_rings/2247619.jpg
inflating: __MACOSX/Food_101/onion_rings/._2247619.jpg
inflating: Food_101/onion_rings/1666603.jpg
inflating: __MACOSX/Food_101/onion_rings/._1666603.jpg
inflating: Food_101/onion_rings/177511.jpg
inflating: __MACOSX/Food_101/onion_rings/._177511.jpg
inflating: Food_101/onion_rings/1431913.jpg
inflating: __MACOSX/Food_101/onion_rings/._1431913.jpg
inflating: Food_101/onion_rings/1768612.jpg
inflating: __MACOSX/Food_101/onion_rings/._1768612.jpg
inflating: Food_101/onion_rings/3670817.jpg
inflating: __MACOSX/Food_101/onion_rings/._3670817.jpg
inflating: Food_101/onion_rings/2829934.jpg
inflating: __MACOSX/Food_101/onion_rings/._2829934.jpg
inflating: Food_101/onion_rings/1094631.jpg
inflating: __MACOSX/Food_101/onion_rings/._1094631.jpg
inflating: Food_101/onion_rings/1674763.jpg
inflating: __MACOSX/Food_101/onion_rings/._1674763.jpg
inflating: Food_101/onion_rings/769992.jpg
inflating: __MACOSX/Food_101/onion_rings/._769992.jpg
inflating: Food_101/onion_rings/2628570.jpg
inflating: __MACOSX/Food_101/onion_rings/._2628570.jpg
inflating: Food_101/onion_rings/942698.jpg
inflating: __MACOSX/Food_101/onion_rings/._942698.jpg
inflating: Food_101/onion_rings/798980.jpg
inflating: __MACOSX/Food_101/onion_rings/._798980.jpg
inflating: Food_101/onion_rings/1193360.jpg
inflating: __MACOSX/Food_101/onion_rings/._1193360.jpg
inflating: Food_101/onion_rings/2641263.jpg
inflating: __MACOSX/Food_101/onion_rings/._2641263.jpg
inflating: Food_101/onion_rings/3329001.jpg
inflating: __MACOSX/Food_101/onion_rings/._3329001.jpg
inflating: Food_101/onion_rings/1887392.jpg
inflating: __MACOSX/Food_101/onion_rings/._1887392.jpg
inflating: Food_101/onion_rings/3184663.jpg
inflating: __MACOSX/Food_101/onion_rings/._3184663.jpg
inflating: Food_101/onion_rings/2614470.jpg
inflating: __MACOSX/Food_101/onion_rings/._2614470.jpg
inflating: Food_101/onion_rings/970979.jpg
inflating: __MACOSX/Food_101/onion_rings/._970979.jpg
inflating: Food_101/onion_rings/746144.jpg
inflating: __MACOSX/Food_101/onion_rings/._746144.jpg
inflating: Food_101/onion_rings/3568428.jpg
inflating: __MACOSX/Food_101/onion_rings/._3568428.jpg
inflating: Food_101/onion_rings/713145.jpg
inflating: __MACOSX/Food_101/onion_rings/._713145.jpg
inflating: Food_101/onion_rings/2152130.jpg
inflating: __MACOSX/Food_101/onion_rings/._2152130.jpg
inflating: Food_101/onion_rings/3752056.jpg
inflating: __MACOSX/Food_101/onion_rings/._3752056.jpg
inflating: Food_101/onion_rings/3543691.jpg
inflating: __MACOSX/Food_101/onion_rings/._3543691.jpg
inflating: Food_101/onion_rings/2323598.jpg
inflating: __MACOSX/Food_101/onion_rings/._2323598.jpg
inflating: Food_101/onion_rings/1585332.jpg
inflating: __MACOSX/Food_101/onion_rings/._1585332.jpg
inflating: Food_101/onion_rings/470857.jpg
inflating: __MACOSX/Food_101/onion_rings/._470857.jpg
inflating: Food_101/onion_rings/3721245.jpg
inflating: __MACOSX/Food_101/onion_rings/._3721245.jpg
inflating: Food_101/onion_rings/2936009.jpg
inflating: __MACOSX/Food_101/onion_rings/._2936009.jpg
inflating: Food_101/onion_rings/3378689.jpg
inflating: __MACOSX/Food_101/onion_rings/._3378689.jpg
inflating: Food_101/onion_rings/3447622.jpg
inflating: __MACOSX/Food_101/onion_rings/._3447622.jpg
inflating: Food_101/onion_rings/1616535.jpg
inflating: __MACOSX/Food_101/onion_rings/._1616535.jpg
inflating: Food_101/onion_rings/949450.jpg
inflating: __MACOSX/Food_101/onion_rings/._949450.jpg
inflating: Food_101/onion_rings/703632.jpg
inflating: __MACOSX/Food_101/onion_rings/._703632.jpg
inflating: Food_101/onion_rings/1728395.jpg
inflating: __MACOSX/Food_101/onion_rings/._1728395.jpg
inflating: Food_101/onion_rings/2951053.jpg
inflating: __MACOSX/Food_101/onion_rings/._2951053.jpg
inflating: Food_101/onion_rings/500381.jpg
inflating: __MACOSX/Food_101/onion_rings/._500381.jpg
inflating: Food_101/onion_rings/2168090.jpg
inflating: __MACOSX/Food_101/onion_rings/._2168090.jpg
inflating: Food_101/onion_rings/328681.jpg
inflating: __MACOSX/Food_101/onion_rings/._328681.jpg
inflating: Food_101/onion_rings/3113938.jpg
inflating: __MACOSX/Food_101/onion_rings/._3113938.jpg
inflating: Food_101/onion_rings/190015.jpg
inflating: __MACOSX/Food_101/onion_rings/._190015.jpg
inflating: Food_101/onion_rings/360404.jpg
inflating: __MACOSX/Food_101/onion_rings/._360404.jpg
inflating: Food_101/onion_rings/2348844.jpg
inflating: __MACOSX/Food_101/onion_rings/._2348844.jpg
inflating: Food_101/onion_rings/204196.jpg
inflating: __MACOSX/Food_101/onion_rings/._204196.jpg
inflating: Food_101/onion_rings/1600625.jpg
inflating: __MACOSX/Food_101/onion_rings/._1600625.jpg
inflating: Food_101/onion_rings/3511664.jpg
inflating: __MACOSX/Food_101/onion_rings/._3511664.jpg
inflating: Food_101/onion_rings/3895847.jpg
inflating: __MACOSX/Food_101/onion_rings/._3895847.jpg
inflating: Food_101/onion_rings/319892.jpg
inflating: __MACOSX/Food_101/onion_rings/._319892.jpg
inflating: Food_101/onion_rings/3584333.jpg
inflating: __MACOSX/Food_101/onion_rings/._3584333.jpg
inflating: Food_101/onion_rings/1441616.jpg
inflating: __MACOSX/Food_101/onion_rings/._1441616.jpg
inflating: Food_101/onion_rings/3523007.jpg
inflating: __MACOSX/Food_101/onion_rings/._3523007.jpg
inflating: Food_101/onion_rings/3191330.jpg
inflating: __MACOSX/Food_101/onion_rings/._3191330.jpg
inflating: Food_101/onion_rings/3453251.jpg
inflating: __MACOSX/Food_101/onion_rings/._3453251.jpg
inflating: Food_101/onion_rings/3353022.jpg
inflating: __MACOSX/Food_101/onion_rings/._3353022.jpg
inflating: Food_101/onion_rings/3834482.jpg
inflating: __MACOSX/Food_101/onion_rings/._3834482.jpg
inflating: Food_101/onion_rings/1250811.jpg
inflating: __MACOSX/Food_101/onion_rings/._1250811.jpg
inflating: Food_101/onion_rings/1850769.jpg
inflating: __MACOSX/Food_101/onion_rings/._1850769.jpg
inflating: Food_101/onion_rings/2243332.jpg
inflating: __MACOSX/Food_101/onion_rings/._2243332.jpg
inflating: Food_101/onion_rings/1330698.jpg
inflating: __MACOSX/Food_101/onion_rings/._1330698.jpg
inflating: Food_101/onion_rings/2596740.jpg
inflating: __MACOSX/Food_101/onion_rings/._2596740.jpg
inflating: Food_101/onion_rings/1502303.jpg
inflating: __MACOSX/Food_101/onion_rings/._1502303.jpg
inflating: Food_101/onion_rings/3645851.jpg
inflating: __MACOSX/Food_101/onion_rings/._3645851.jpg
inflating: Food_101/onion_rings/1549896.jpg
inflating: __MACOSX/Food_101/onion_rings/._1549896.jpg
inflating: Food_101/onion_rings/2274574.jpg
inflating: __MACOSX/Food_101/onion_rings/._2274574.jpg
inflating: Food_101/onion_rings/468148.jpg
inflating: __MACOSX/Food_101/onion_rings/._468148.jpg
inflating: Food_101/onion_rings/1693306.jpg
inflating: __MACOSX/Food_101/onion_rings/._1693306.jpg
inflating: Food_101/onion_rings/3552614.jpg
inflating: __MACOSX/Food_101/onion_rings/._3552614.jpg
inflating: Food_101/onion_rings/3201981.jpg
inflating: __MACOSX/Food_101/onion_rings/._3201981.jpg
inflating: Food_101/onion_rings/3298391.jpg
inflating: __MACOSX/Food_101/onion_rings/._3298391.jpg
inflating: Food_101/onion_rings/2889767.jpg
inflating: __MACOSX/Food_101/onion_rings/._2889767.jpg
inflating: Food_101/onion_rings/698767.jpg
inflating: __MACOSX/Food_101/onion_rings/._698767.jpg
inflating: Food_101/onion_rings/1863765.jpg
inflating: __MACOSX/Food_101/onion_rings/._1863765.jpg
inflating: Food_101/onion_rings/3331705.jpg
inflating: __MACOSX/Food_101/onion_rings/._3331705.jpg
inflating: Food_101/onion_rings/1061095.jpg
inflating: __MACOSX/Food_101/onion_rings/._1061095.jpg
inflating: Food_101/onion_rings/1511961.jpg
inflating: __MACOSX/Food_101/onion_rings/._1511961.jpg
inflating: Food_101/onion_rings/1646659.jpg
inflating: __MACOSX/Food_101/onion_rings/._1646659.jpg
inflating: Food_101/onion_rings/2657204.jpg
inflating: __MACOSX/Food_101/onion_rings/._2657204.jpg
inflating: Food_101/onion_rings/2358667.jpg
inflating: __MACOSX/Food_101/onion_rings/._2358667.jpg
inflating: Food_101/onion_rings/2667660.jpg
inflating: __MACOSX/Food_101/onion_rings/._2667660.jpg
inflating: Food_101/onion_rings/1287782.jpg
inflating: __MACOSX/Food_101/onion_rings/._1287782.jpg
inflating: Food_101/onion_rings/2224579.jpg
inflating: __MACOSX/Food_101/onion_rings/._2224579.jpg
# Image folder
food_101_image_folder = '/content/Food_101/'
Overview of Original Dataset Images by Class (No Bounding Boxes)¶
Visual Inspection of Annotated Images (With Bounding Boxes)¶
The Food101 dataset contains a total of 16,256 images categorized into 17 different food classes. Each class represents a type of food, such as apple_pie, pizza, samosa, etc.
This section presents a visual inspection of sample images with bounding box annotations, which highlight the region of interest (i.e., the food item) within each image.
Key Details:¶
- The dataset can be split into training and testing sets in a 70-30 ratio per class.
- Each food category has approximately 1,000 images, except for
apple_pie, which has fewer samples. - Bounding boxes help localize the food item in the image, which is useful for object detection or improving classification accuracy by focusing the model on relevant image regions.
Purpose of this Visualization:¶
- To visually verify the quality and accuracy of bounding box annotations.
- To understand how localized regions differ across classes and image samples.
- To evaluate whether bounding box information can aid in better feature learning for classification or detection tasks.
Below, we inspect a few representative examples from different classes with their bounding boxes overlaid.
Helper Functions¶
# Metadat Class for storing it
class IdentityMetadata():
def __init__(self, base, name, file, size):
# print(base, name, file)
# dataset base directory
self.base = base
# identity name
self.name = name
# image file name
self.file = file
self.size=size
def __repr__(self):
return self.image_path()
def image_path(self):
return os.path.join(self.base, self.name, self.file)
def load_metadata(path):
"""
Load metadata for all images in a directory
"""
if not os.path.exists(path):
raise ValueError(f"Path does not exist: {path}")
metadata = []
for index, folder in enumerate(os.listdir(path)):
subdir_path = os.path.join(path, folder)
if not os.path.isdir(subdir_path):
continue # Skip files like .DS_Store or any non-folder
# Get all valid image files in the subdirectory
image_files = [f for f in os.listdir(subdir_path)
if f.lower().endswith(('.jpg', '.jpeg'))]
total_images = len(image_files)
for file in image_files:
metadata.append(IdentityMetadata(path, folder, file, total_images))
return np.array(metadata)
# Read & Load Image
def load_image(path):
"""
Load image from path
"""
img = cv2.imread(path)
# Convert to RGB
return cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
def split_metadata_per_class(metadata_list, train_ratio=0.7, seed=42):
random.seed(seed)
# Step 1: Group by identity (class name)
class_groups = defaultdict(list)
for meta in metadata_list:
class_groups[meta.name].append(meta)
train_set = []
test_set = []
# Step 2: Shuffle and split each class group
for identity, items in class_groups.items():
random.shuffle(items)
split_index = int(len(items) * train_ratio)
train_set.extend(items[:split_index])
test_set.extend(items[split_index:])
return train_set, test_set
def organize_dataset(metadata_list, base_output_dir):
"""
Organize dataset into subdirectories by class
"""
if not os.path.exists(base_output_dir):
os.makedirs(base_output_dir)
for meta in metadata_list:
label_dir = os.path.join(base_output_dir, meta.name)
os.makedirs(label_dir, exist_ok=True)
src = meta.image_path()
dst = os.path.join(label_dir, meta.file)
shutil.copy2(src, dst)
def draw_yolo_bboxes_from_csv(data_dir, image_file, annotations_df, ax=None, food_class='images'):
images_dir = os.path.join(data_dir, food_class)
image_path = os.path.join(images_dir, image_file)
# Load image
image = cv2.imread(image_path)
if image is None:
print(f"❌ Image not found: {image_path}")
return
image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
height, width, _ = image.shape
# Filter annotations for this image
boxes = annotations_df[annotations_df['image'] == image_file]
if boxes.empty:
print(f"⚠️ No annotations found for: {image_file}")
return
# Draw each bounding box
for _, row in boxes.iterrows():
class_id = row['class_name']
x_center = float(row['x_center']) * width
y_center = float(row['y_center']) * height
w = float(row['width']) * width
h = float(row['height']) * height
x1 = int(x_center - w / 2)
y1 = int(y_center - h / 2)
x2 = int(x_center + w / 2)
y2 = int(y_center + h / 2)
# Draw rectangle and class_id
# Draw rectangle and class_id
cv2.rectangle(image_rgb, (x1, y1), (x2, y2), (0, 0, 255), 2) # Changed to blue (BGR format)
cv2.putText(image_rgb, str(class_id), (x1, y1 - 10),
cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 2) # Changed to blue (BGR format)
if ax is None:
plt.figure(figsize=(40, 40))
plt.imshow(image_rgb)
plt.axis('off')
plt.title(f"{image_file}")
plt.show()
else:
ax.imshow(image_rgb)
ax.axis('off')
# load image metadata from folder
metadata = load_metadata(food_101_image_folder)
# Print metadata shape to get total number of images
print("Total number of images:", metadata.shape)
# Print folder path
print("\nDataset folder path:", food_101_image_folder)
# Get unique food class names from metadata
food_classes = sorted(list(set(item.name for item in metadata)))
# Print food class names
print("\nFood classes in dataset:")
for food_class in food_classes:
print(f"- {food_class}")
Total number of images: (16256,) Dataset folder path: /content/Food_101/ Food classes in dataset: - apple_pie - chocolate_cake - donuts - falafel - french_fries - hot_dog - ice_cream - nachos - onion_rings - pancakes - pizza - ravioli - samosa - spring_rolls - strawberry_shortcake - tacos - waffles
Observation:¶
Total number of images¶
- The dataset consists of 16,256 images.
Dataset folder path¶
- The images are located in the folder path:
asset/Food_101.
Dataset Size: The dataset contains 16,256 images, which is a reasonable size for training machine learning models. However, you may need to apply data augmentation techniques or preprocessing to account for class imbalances or variations in image content.
Food Class Distribution: It's crucial to analyze the class distribution. Some food classes might have more images than others. To address this, you might want to consider techniques like oversampling, undersampling, or using class weights in the machine learning model.
Class Variety: The dataset includes a wide range of food items, from desserts (apple pie, chocolate cake, ice cream) to savory items (pizza, tacos, falafel). This makes the classification task more challenging due to the variability in shapes, textures, and visual features across food items.
Data Preprocessing: The typical preprocessing steps for image classification include:
- Resizing images to a consistent size.
- Normalization (scaling pixel values to a range of 0-1).
- Data augmentation (rotating, flipping, and adjusting color jitter). These steps help ensure that the model generalizes well and avoids overfitting.
Performance Metrics: Metrics like accuracy, precision, recall, and F1-score should be evaluated. These metrics help assess the model's ability to distinguish between different food classes, especially when some are more challenging to classify.
# Updated configuration
n_classes_to_sample = 10
samples_per_class = 3
max_images = n_classes_to_sample * samples_per_class
plt.figure(figsize=(18, 12))
seen = {}
plotted = 0
for item in metadata:
class_name = item.name
if seen.get(class_name, 0) < samples_per_class:
img = cv2.imread(item.image_path())
if img is None:
print(f"Warning: Could not read image {item.image_path()}")
continue
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
height, width, channels = img.shape
is_grayscale = channels == 1
plt.subplot(n_classes_to_sample, samples_per_class, plotted + 1)
plt.imshow(img)
plt.title(f"{class_name}\n{width}x{height}\n{'Gray' if is_grayscale else 'RGB'}")
plt.axis('off')
seen[class_name] = seen.get(class_name, 0) + 1
plotted += 1
if plotted >= max_images:
break
plt.tight_layout()
plt.show()
Observations:¶
Consistent Color Space:
- All images are RGB, which is standard and expected for deep learning models using convolutional networks.
Variable Image Dimensions:
- Although most images are square (512x512), several have non-square resolutions (e.g., 512x342, 382x512, 512x384).
- This introduces aspect ratio variability, which may affect model performance if not handled properly.
Centered Composition:
- Most food items appear well-centered, with minimal background clutter.
- This suggests that the bounding boxes or crops (if applied) were done with reasonable accuracy.
Intra-class Variation:
- Each class (e.g., samosa, falafel, apple_pie) shows visual variation in texture, orientation, and plating.
- This is beneficial for training robust classifiers but may require data augmentation to generalize well.
Preprocessing Needed:
- Normalize image sizes (e.g., resize all to 224×224 or 299×299 depending on model input).
- Consider aspect ratio preservation or intelligent cropping.
Data Augmentation Recommended:
- Techniques like random cropping, rotation, zoom, and brightness adjustments will improve generalization.
Improves Model Generalization:
- Bounding boxes help the model learn discriminative visual patterns with greater consistency across the dataset.
# Create a DataFrame to show class distribution
class_counts = {}
for class_name in os.listdir(food_101_image_folder):
if os.path.isdir(os.path.join(food_101_image_folder, class_name)):
class_size = len(os.listdir(os.path.join(food_101_image_folder, class_name)))
class_counts[class_name] = class_size
df = pd.DataFrame(list(class_counts.items()), columns=['class_name', 'class_size'])
df.set_index('class_name', inplace=True)
df
| class_size | |
|---|---|
| class_name | |
| tacos | 1000 |
| falafel | 1000 |
| donuts | 1000 |
| samosa | 1000 |
| french_fries | 1000 |
| pancakes | 1000 |
| hot_dog | 1000 |
| strawberry_shortcake | 1000 |
| onion_rings | 1000 |
| ravioli | 1000 |
| nachos | 1000 |
| apple_pie | 257 |
| ice_cream | 1000 |
| waffles | 1000 |
| chocolate_cake | 1000 |
| pizza | 1000 |
| spring_rolls | 1000 |
# show in barplot
sns.barplot(x=df.index, y=df['class_size'],color='r')
plt.xticks(rotation=90)
plt.show()
Observation:¶
Uniform Distribution Across Most Classes
- Out of the 17 total food classes, 16 classes have exactly 1000 images.
- This indicates a mostly well-balanced dataset, which is beneficial for training classification models without inherent bias.
Class Imbalance –
apple_pie- The
apple_pieclass has only 257 images, which is significantly lower than the others. - This imbalance may negatively affect the model's ability to correctly classify
apple_pie, leading to:- Lower recall and precision for the minority class.
- Potential model bias toward majority classes.
- The
Potential Mitigation Strategies
To address the class imbalance:- Data Augmentation: Apply augmentation (rotation, flipping, color jittering) to synthetically increase the number of
apple_pieimages. - Class Weights: Use class weights in the loss function during training to emphasize learning on the minority class.
- SMOTE or Oversampling Techniques (if suitable for images).
- Undersampling other classes (less preferred due to loss of valuable data).
- Data Augmentation: Apply augmentation (rotation, flipping, color jittering) to synthetically increase the number of
Impact on Model Evaluation
- Use evaluation metrics such as F1-score, Recall, and Confusion Matrix in addition to Accuracy.
- These metrics will better highlight the model’s performance on the imbalanced class.
Need for Visual Exploration
- Visual inspection of
apple_pieimages may help understand why the count is low (e.g., ambiguous visuals, data collection issue).
- Visual inspection of
Visual Inspection of Annotated Images (With Bounding Boxes)¶
The Food101 dataset contains a total of 16,256 images categorized into 17 different food classes. Each class represents a type of food, such as apple_pie, pizza, samosa, etc.
This section presents a visual inspection of sample images with bounding box annotations, which highlight the region of interest (i.e., the food item) within each image.
Key Details:¶
- The dataset can be split into training and testing sets in a 70-30 ratio per class.
- Each food category has approximately 1,000 images, except for
apple_pie, which has fewer samples. - Bounding boxes help localize the food item in the image, which is useful for object detection or improving classification accuracy by focusing the model on relevant image regions.
Purpose of this Visualization:¶
- To visually verify the quality and accuracy of bounding box annotations.
- To understand how localized regions differ across classes and image samples.
- To evaluate whether bounding box information can aid in better feature learning for classification or detection tasks.
Below, we inspect a few representative examples from different classes with their bounding boxes overlaid.
Dataset Annotation Overview¶
We have successfully annotated our image dataset and stored the results in a file named annotation_csv. This file adheres to the YOLO format, with the following columns:
image_name: Name of the image file.class_name: Object category label.x_center,y_center,width,height: Bounding box coordinates normalized to the [0, 1] range.
How We Annotated the Data¶
We used a hybrid approach combining automated tools and AI assistance to efficiently generate high-quality annotations:
YOLOv8 and YOLOv11: Employed for automatic object detection and initial bounding box generation.
ChatGPT API: Used to pass images directly and receive bounding box predictions for objects, especially helpful in cases requiring semantic understanding or where pretrained models struggled.
Roboflow: Used as a platform for annotation review, correction, and dataset management. It helped streamline the export process into YOLO format and ensured consistency.
Usage in Training Pipeline¶
The annotation_csv will be used for:
- Data Preparation: Parsing annotations in YOLO format for image-label mapping.
- Model Training: Feeding normalized bounding boxes and class labels into the training pipeline.
This multi-tool approach ensures a robust, scalable, and AI-assisted annotation pipeline tailored for object detection tasks.
Loading Annotation Data and Extracting Food Classes¶
In this step, we load the refined annotation data from the Food_101_Annotation directory. The annotation file (annotation_refined.csv) contains important metadata such as image file names, bounding box coordinates, and corresponding food class labels.
We extract and display the list of unique food classes present in the dataset to understand the classification scope.
!unzip '/content/drive/MyDrive/Python Course_shared/computer Vision/annotation/Food-101-Annotated-V3.zip'
Archive: /content/drive/MyDrive/Python Course_shared/computer Vision/annotation/Food-101-Annotated-V3.zip creating: Food-101-Annotated/ inflating: __MACOSX/._Food-101-Annotated creating: Food-101-Annotated/ice_cream/ inflating: __MACOSX/Food-101-Annotated/._ice_cream creating: Food-101-Annotated/samosa/ inflating: __MACOSX/Food-101-Annotated/._samosa inflating: Food-101-Annotated/.DS_Store inflating: __MACOSX/Food-101-Annotated/._.DS_Store creating: Food-101-Annotated/onion_ring/ inflating: __MACOSX/Food-101-Annotated/._onion_ring creating: Food-101-Annotated/strawberry_shortcake/ inflating: __MACOSX/Food-101-Annotated/._strawberry_shortcake creating: Food-101-Annotated/waffle/ inflating: __MACOSX/Food-101-Annotated/._waffle inflating: Food-101-Annotated/annotation_refined.csv inflating: __MACOSX/Food-101-Annotated/._annotation_refined.csv creating: Food-101-Annotated/chocolate_cake/ inflating: __MACOSX/Food-101-Annotated/._chocolate_cake creating: Food-101-Annotated/tacos/ inflating: __MACOSX/Food-101-Annotated/._tacos creating: Food-101-Annotated/pizza/ inflating: __MACOSX/Food-101-Annotated/._pizza creating: Food-101-Annotated/nachos/ inflating: __MACOSX/Food-101-Annotated/._nachos creating: Food-101-Annotated/french_fries/ inflating: __MACOSX/Food-101-Annotated/._french_fries inflating: Food-101-Annotated/ice_cream/85514.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._85514.jpg inflating: Food-101-Annotated/ice_cream/621259.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._621259.jpg inflating: Food-101-Annotated/ice_cream/1921412.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1921412.jpg inflating: Food-101-Annotated/ice_cream/1176281.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1176281.jpg inflating: Food-101-Annotated/ice_cream/3465698.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._3465698.jpg inflating: Food-101-Annotated/ice_cream/2005850.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._2005850.jpg inflating: Food-101-Annotated/ice_cream/2311283.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._2311283.jpg inflating: Food-101-Annotated/ice_cream/390886.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._390886.jpg inflating: Food-101-Annotated/ice_cream/649653.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._649653.jpg inflating: Food-101-Annotated/ice_cream/2862530.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._2862530.jpg inflating: Food-101-Annotated/ice_cream/596317.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._596317.jpg inflating: Food-101-Annotated/ice_cream/1961230.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1961230.jpg inflating: Food-101-Annotated/ice_cream/2752957.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._2752957.jpg inflating: Food-101-Annotated/ice_cream/3323080.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._3323080.jpg creating: Food-101-Annotated/ice_cream/resized_images/ inflating: __MACOSX/Food-101-Annotated/ice_cream/._resized_images inflating: Food-101-Annotated/ice_cream/995145.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._995145.jpg inflating: Food-101-Annotated/ice_cream/510048.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._510048.jpg inflating: Food-101-Annotated/ice_cream/660729.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._660729.jpg inflating: Food-101-Annotated/ice_cream/598638.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._598638.jpg inflating: Food-101-Annotated/ice_cream/2985290.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._2985290.jpg inflating: Food-101-Annotated/ice_cream/3384471.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._3384471.jpg inflating: Food-101-Annotated/ice_cream/1971651.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1971651.jpg inflating: Food-101-Annotated/ice_cream/1272987.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1272987.jpg inflating: Food-101-Annotated/ice_cream/1068026.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1068026.jpg inflating: Food-101-Annotated/ice_cream/2139248.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._2139248.jpg inflating: Food-101-Annotated/ice_cream/1615718.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1615718.jpg inflating: Food-101-Annotated/ice_cream/1995311.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1995311.jpg inflating: Food-101-Annotated/ice_cream/2289445.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._2289445.jpg inflating: Food-101-Annotated/ice_cream/3518829.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._3518829.jpg inflating: Food-101-Annotated/ice_cream/1954378.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1954378.jpg inflating: Food-101-Annotated/ice_cream/518018.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._518018.jpg inflating: Food-101-Annotated/ice_cream/478897.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._478897.jpg inflating: Food-101-Annotated/ice_cream/1371104.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1371104.jpg inflating: Food-101-Annotated/ice_cream/1629364.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1629364.jpg inflating: Food-101-Annotated/ice_cream/3758284.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._3758284.jpg inflating: Food-101-Annotated/ice_cream/1262551.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1262551.jpg inflating: Food-101-Annotated/ice_cream/1698568.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1698568.jpg inflating: Food-101-Annotated/ice_cream/1839769.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1839769.jpg inflating: Food-101-Annotated/ice_cream/366955.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._366955.jpg inflating: Food-101-Annotated/ice_cream/517105.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._517105.jpg inflating: Food-101-Annotated/ice_cream/612548.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._612548.jpg inflating: Food-101-Annotated/ice_cream/669677.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._669677.jpg inflating: Food-101-Annotated/ice_cream/2948329.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._2948329.jpg inflating: Food-101-Annotated/ice_cream/396427.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._396427.jpg inflating: Food-101-Annotated/ice_cream/519403.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._519403.jpg inflating: Food-101-Annotated/ice_cream/3838718.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._3838718.jpg inflating: Food-101-Annotated/ice_cream/1442308.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1442308.jpg inflating: Food-101-Annotated/ice_cream/238730.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._238730.jpg inflating: Food-101-Annotated/ice_cream/128941.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._128941.jpg inflating: Food-101-Annotated/ice_cream/1910824.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1910824.jpg inflating: Food-101-Annotated/ice_cream/3380318.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._3380318.jpg inflating: Food-101-Annotated/ice_cream/1303736.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1303736.jpg inflating: Food-101-Annotated/ice_cream/243829.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._243829.jpg inflating: Food-101-Annotated/ice_cream/3693594.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._3693594.jpg inflating: Food-101-Annotated/ice_cream/3228081.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._3228081.jpg inflating: Food-101-Annotated/samosa/2302.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2302.jpg inflating: Food-101-Annotated/samosa/1497664.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1497664.jpg inflating: Food-101-Annotated/samosa/195766.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._195766.jpg inflating: Food-101-Annotated/samosa/3478622.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3478622.jpg inflating: Food-101-Annotated/samosa/2998894.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2998894.jpg inflating: Food-101-Annotated/samosa/2778821.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2778821.jpg inflating: Food-101-Annotated/samosa/663294.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._663294.jpg inflating: Food-101-Annotated/samosa/1526132.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1526132.jpg inflating: Food-101-Annotated/samosa/104322.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._104322.jpg inflating: Food-101-Annotated/samosa/917040.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._917040.jpg inflating: Food-101-Annotated/samosa/3803813.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3803813.jpg inflating: Food-101-Annotated/samosa/1189287.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1189287.jpg inflating: Food-101-Annotated/samosa/1449447.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1449447.jpg inflating: Food-101-Annotated/samosa/15074.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._15074.jpg inflating: Food-101-Annotated/samosa/1383505.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1383505.jpg inflating: Food-101-Annotated/samosa/2703502.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2703502.jpg inflating: Food-101-Annotated/samosa/331119.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._331119.jpg inflating: Food-101-Annotated/samosa/1982708.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1982708.jpg inflating: Food-101-Annotated/samosa/1453309.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1453309.jpg inflating: Food-101-Annotated/samosa/3633981.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3633981.jpg inflating: Food-101-Annotated/samosa/2802920.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2802920.jpg inflating: Food-101-Annotated/samosa/924149.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._924149.jpg inflating: Food-101-Annotated/samosa/3011172.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3011172.jpg creating: Food-101-Annotated/samosa/resized_images/ inflating: __MACOSX/Food-101-Annotated/samosa/._resized_images inflating: Food-101-Annotated/samosa/2189028.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2189028.jpg inflating: Food-101-Annotated/samosa/3017105.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3017105.jpg inflating: Food-101-Annotated/samosa/2373677.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2373677.jpg inflating: Food-101-Annotated/samosa/2408934.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2408934.jpg inflating: Food-101-Annotated/samosa/2040239.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2040239.jpg inflating: Food-101-Annotated/samosa/3442040.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3442040.jpg inflating: Food-101-Annotated/samosa/3921972.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3921972.jpg inflating: Food-101-Annotated/samosa/1177448.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1177448.jpg inflating: Food-101-Annotated/samosa/2117161.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2117161.jpg inflating: Food-101-Annotated/samosa/2072483.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2072483.jpg inflating: Food-101-Annotated/samosa/1191466.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1191466.jpg inflating: Food-101-Annotated/samosa/1881590.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1881590.jpg inflating: Food-101-Annotated/samosa/1239544.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1239544.jpg inflating: Food-101-Annotated/samosa/6119.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._6119.jpg inflating: Food-101-Annotated/samosa/3397617.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3397617.jpg inflating: Food-101-Annotated/samosa/2605136.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2605136.jpg inflating: Food-101-Annotated/samosa/1170314.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1170314.jpg inflating: Food-101-Annotated/samosa/1083263.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1083263.jpg inflating: Food-101-Annotated/samosa/918899.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._918899.jpg inflating: Food-101-Annotated/samosa/1917898.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1917898.jpg inflating: Food-101-Annotated/samosa/1416302.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1416302.jpg inflating: Food-101-Annotated/samosa/2095432.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2095432.jpg inflating: Food-101-Annotated/samosa/3436247.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3436247.jpg inflating: Food-101-Annotated/samosa/862501.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._862501.jpg inflating: Food-101-Annotated/samosa/1526228.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1526228.jpg inflating: Food-101-Annotated/samosa/3604106.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3604106.jpg inflating: Food-101-Annotated/samosa/2129469.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2129469.jpg inflating: Food-101-Annotated/samosa/674960.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._674960.jpg inflating: Food-101-Annotated/samosa/672929.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._672929.jpg inflating: Food-101-Annotated/samosa/704897.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._704897.jpg inflating: Food-101-Annotated/samosa/942933.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._942933.jpg inflating: Food-101-Annotated/samosa/1939527.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1939527.jpg inflating: Food-101-Annotated/samosa/328693.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._328693.jpg inflating: Food-101-Annotated/samosa/1249361.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1249361.jpg inflating: Food-101-Annotated/samosa/1750149.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1750149.jpg inflating: Food-101-Annotated/samosa/68911.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._68911.jpg inflating: Food-101-Annotated/samosa/1539989.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1539989.jpg inflating: Food-101-Annotated/samosa/1460553.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1460553.jpg inflating: Food-101-Annotated/samosa/1751695.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1751695.jpg inflating: Food-101-Annotated/samosa/2855237.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2855237.jpg inflating: Food-101-Annotated/samosa/1444587.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1444587.jpg inflating: Food-101-Annotated/samosa/3470729.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3470729.jpg inflating: Food-101-Annotated/samosa/261040.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._261040.jpg inflating: Food-101-Annotated/samosa/62383.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._62383.jpg inflating: Food-101-Annotated/samosa/2348924.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2348924.jpg inflating: Food-101-Annotated/samosa/3882056.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3882056.jpg inflating: Food-101-Annotated/samosa/1499692.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1499692.jpg inflating: Food-101-Annotated/samosa/406322.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._406322.jpg inflating: Food-101-Annotated/onion_ring/192753.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._192753.jpg inflating: Food-101-Annotated/onion_ring/3578344.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3578344.jpg inflating: Food-101-Annotated/onion_ring/1128896.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._1128896.jpg inflating: Food-101-Annotated/onion_ring/933681.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._933681.jpg inflating: Food-101-Annotated/onion_ring/2808504.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2808504.jpg inflating: Food-101-Annotated/onion_ring/1683330.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._1683330.jpg inflating: Food-101-Annotated/onion_ring/2212599.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2212599.jpg inflating: Food-101-Annotated/onion_ring/801386.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._801386.jpg inflating: Food-101-Annotated/onion_ring/1620661.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._1620661.jpg inflating: Food-101-Annotated/onion_ring/437727.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._437727.jpg inflating: Food-101-Annotated/onion_ring/82479.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._82479.jpg inflating: Food-101-Annotated/onion_ring/2135266.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2135266.jpg inflating: Food-101-Annotated/onion_ring/1836694.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._1836694.jpg inflating: Food-101-Annotated/onion_ring/2857672.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2857672.jpg inflating: Food-101-Annotated/onion_ring/1752491.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._1752491.jpg inflating: Food-101-Annotated/onion_ring/1466149.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._1466149.jpg inflating: Food-101-Annotated/onion_ring/2561175.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2561175.jpg inflating: Food-101-Annotated/onion_ring/3225322.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3225322.jpg inflating: Food-101-Annotated/onion_ring/852347.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._852347.jpg inflating: Food-101-Annotated/onion_ring/3748254.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3748254.jpg inflating: Food-101-Annotated/onion_ring/2437711.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2437711.jpg inflating: Food-101-Annotated/onion_ring/2959045.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2959045.jpg inflating: Food-101-Annotated/onion_ring/3324385.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3324385.jpg inflating: Food-101-Annotated/onion_ring/382380.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._382380.jpg inflating: Food-101-Annotated/onion_ring/3783332.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3783332.jpg inflating: Food-101-Annotated/onion_ring/784882.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._784882.jpg inflating: Food-101-Annotated/onion_ring/2411104.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2411104.jpg inflating: Food-101-Annotated/onion_ring/3830118.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3830118.jpg inflating: Food-101-Annotated/onion_ring/944880.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._944880.jpg inflating: Food-101-Annotated/onion_ring/3260503.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3260503.jpg inflating: Food-101-Annotated/onion_ring/3629928.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3629928.jpg inflating: Food-101-Annotated/onion_ring/1874873.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._1874873.jpg inflating: Food-101-Annotated/onion_ring/2527908.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2527908.jpg inflating: Food-101-Annotated/onion_ring/3021096.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3021096.jpg inflating: Food-101-Annotated/onion_ring/54685.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._54685.jpg inflating: Food-101-Annotated/onion_ring/2463146.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2463146.jpg inflating: Food-101-Annotated/onion_ring/538182.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._538182.jpg inflating: Food-101-Annotated/onion_ring/2315039.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2315039.jpg inflating: Food-101-Annotated/onion_ring/546460.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._546460.jpg inflating: Food-101-Annotated/onion_ring/920620.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._920620.jpg inflating: Food-101-Annotated/onion_ring/3715093.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3715093.jpg inflating: Food-101-Annotated/onion_ring/3547368.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3547368.jpg inflating: Food-101-Annotated/onion_ring/781621.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._781621.jpg inflating: Food-101-Annotated/onion_ring/1408748.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._1408748.jpg inflating: Food-101-Annotated/onion_ring/3352070.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3352070.jpg inflating: Food-101-Annotated/onion_ring/177511.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._177511.jpg inflating: Food-101-Annotated/onion_ring/2829934.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2829934.jpg inflating: Food-101-Annotated/onion_ring/769992.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._769992.jpg inflating: Food-101-Annotated/onion_ring/500381.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._500381.jpg inflating: Food-101-Annotated/onion_ring/1850769.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._1850769.jpg inflating: Food-101-Annotated/onion_ring/1511961.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._1511961.jpg inflating: Food-101-Annotated/strawberry_shortcake/3705276.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._3705276.jpg inflating: Food-101-Annotated/strawberry_shortcake/57863.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._57863.jpg inflating: Food-101-Annotated/strawberry_shortcake/16590.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._16590.jpg inflating: Food-101-Annotated/strawberry_shortcake/977955.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._977955.jpg inflating: Food-101-Annotated/strawberry_shortcake/1031243.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1031243.jpg inflating: Food-101-Annotated/strawberry_shortcake/2327490.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._2327490.jpg inflating: Food-101-Annotated/strawberry_shortcake/2808886.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._2808886.jpg inflating: Food-101-Annotated/strawberry_shortcake/3916946.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._3916946.jpg inflating: Food-101-Annotated/strawberry_shortcake/97738.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._97738.jpg inflating: Food-101-Annotated/strawberry_shortcake/3430071.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._3430071.jpg inflating: Food-101-Annotated/strawberry_shortcake/80669.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._80669.jpg inflating: Food-101-Annotated/strawberry_shortcake/1195849.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1195849.jpg inflating: Food-101-Annotated/strawberry_shortcake/2965819.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._2965819.jpg inflating: Food-101-Annotated/strawberry_shortcake/101165.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._101165.jpg inflating: Food-101-Annotated/strawberry_shortcake/3690192.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._3690192.jpg inflating: Food-101-Annotated/strawberry_shortcake/2561373.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._2561373.jpg inflating: Food-101-Annotated/strawberry_shortcake/3843129.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._3843129.jpg inflating: Food-101-Annotated/strawberry_shortcake/1848361.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1848361.jpg inflating: Food-101-Annotated/strawberry_shortcake/463111.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._463111.jpg inflating: Food-101-Annotated/strawberry_shortcake/1311207.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1311207.jpg inflating: Food-101-Annotated/strawberry_shortcake/1916999.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1916999.jpg inflating: Food-101-Annotated/strawberry_shortcake/1882254.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1882254.jpg inflating: Food-101-Annotated/strawberry_shortcake/2226679.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._2226679.jpg inflating: Food-101-Annotated/strawberry_shortcake/3729912.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._3729912.jpg inflating: Food-101-Annotated/strawberry_shortcake/1881023.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1881023.jpg inflating: Food-101-Annotated/strawberry_shortcake/1866686.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1866686.jpg inflating: Food-101-Annotated/strawberry_shortcake/724604.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._724604.jpg inflating: Food-101-Annotated/strawberry_shortcake/713321.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._713321.jpg inflating: Food-101-Annotated/strawberry_shortcake/263151.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._263151.jpg inflating: Food-101-Annotated/strawberry_shortcake/3379442.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._3379442.jpg inflating: Food-101-Annotated/strawberry_shortcake/702201.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._702201.jpg inflating: Food-101-Annotated/strawberry_shortcake/3789427.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._3789427.jpg inflating: Food-101-Annotated/strawberry_shortcake/57777.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._57777.jpg inflating: Food-101-Annotated/strawberry_shortcake/1845065.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1845065.jpg inflating: Food-101-Annotated/strawberry_shortcake/1342090.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1342090.jpg inflating: Food-101-Annotated/strawberry_shortcake/3346370.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._3346370.jpg inflating: Food-101-Annotated/strawberry_shortcake/1758516.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1758516.jpg inflating: Food-101-Annotated/strawberry_shortcake/873051.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._873051.jpg inflating: Food-101-Annotated/strawberry_shortcake/2745798.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._2745798.jpg inflating: Food-101-Annotated/strawberry_shortcake/163206.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._163206.jpg inflating: Food-101-Annotated/strawberry_shortcake/730404.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._730404.jpg inflating: Food-101-Annotated/strawberry_shortcake/2856465.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._2856465.jpg inflating: Food-101-Annotated/strawberry_shortcake/3541054.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._3541054.jpg inflating: Food-101-Annotated/strawberry_shortcake/1640574.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1640574.jpg inflating: Food-101-Annotated/strawberry_shortcake/1957762.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1957762.jpg inflating: Food-101-Annotated/strawberry_shortcake/1568443.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1568443.jpg inflating: Food-101-Annotated/strawberry_shortcake/683408.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._683408.jpg inflating: Food-101-Annotated/strawberry_shortcake/3835788.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._3835788.jpg inflating: Food-101-Annotated/strawberry_shortcake/2180049.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._2180049.jpg inflating: Food-101-Annotated/strawberry_shortcake/953437.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._953437.jpg inflating: Food-101-Annotated/waffle/1865250.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1865250.jpg inflating: Food-101-Annotated/waffle/1564248.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1564248.jpg inflating: Food-101-Annotated/waffle/70789.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._70789.jpg inflating: Food-101-Annotated/waffle/2131845.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._2131845.jpg inflating: Food-101-Annotated/waffle/96181.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._96181.jpg inflating: Food-101-Annotated/waffle/903753.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._903753.jpg inflating: Food-101-Annotated/waffle/3308951.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._3308951.jpg inflating: Food-101-Annotated/waffle/1775307.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1775307.jpg inflating: Food-101-Annotated/waffle/1852612.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1852612.jpg inflating: Food-101-Annotated/waffle/3189212.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._3189212.jpg inflating: Food-101-Annotated/waffle/3872190.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._3872190.jpg inflating: Food-101-Annotated/waffle/520878.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._520878.jpg inflating: Food-101-Annotated/waffle/2389143.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._2389143.jpg inflating: Food-101-Annotated/waffle/1397605.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1397605.jpg inflating: Food-101-Annotated/waffle/2177928.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._2177928.jpg inflating: Food-101-Annotated/waffle/910563.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._910563.jpg inflating: Food-101-Annotated/waffle/3460768.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._3460768.jpg inflating: Food-101-Annotated/waffle/30536.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._30536.jpg inflating: Food-101-Annotated/waffle/76239.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._76239.jpg inflating: Food-101-Annotated/waffle/452045.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._452045.jpg inflating: Food-101-Annotated/waffle/1509171.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1509171.jpg inflating: Food-101-Annotated/waffle/712973.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._712973.jpg inflating: Food-101-Annotated/waffle/2139248.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._2139248.jpg inflating: Food-101-Annotated/waffle/2999331.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._2999331.jpg inflating: Food-101-Annotated/waffle/2873703.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._2873703.jpg inflating: Food-101-Annotated/waffle/2392474.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._2392474.jpg inflating: Food-101-Annotated/waffle/1245873.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1245873.jpg inflating: Food-101-Annotated/waffle/119316.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._119316.jpg inflating: Food-101-Annotated/waffle/88648.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._88648.jpg inflating: Food-101-Annotated/waffle/2058733.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._2058733.jpg inflating: Food-101-Annotated/waffle/708688.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._708688.jpg inflating: Food-101-Annotated/waffle/1595187.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1595187.jpg inflating: Food-101-Annotated/waffle/3260936.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._3260936.jpg inflating: Food-101-Annotated/waffle/1698568.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1698568.jpg inflating: Food-101-Annotated/waffle/789971.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._789971.jpg inflating: Food-101-Annotated/waffle/2267408.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._2267408.jpg inflating: Food-101-Annotated/waffle/1716839.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1716839.jpg inflating: Food-101-Annotated/waffle/12160.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._12160.jpg inflating: Food-101-Annotated/waffle/3014576.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._3014576.jpg inflating: Food-101-Annotated/waffle/654779.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._654779.jpg inflating: Food-101-Annotated/waffle/2135581.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._2135581.jpg inflating: Food-101-Annotated/waffle/1231392.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1231392.jpg inflating: Food-101-Annotated/waffle/3402541.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._3402541.jpg inflating: Food-101-Annotated/waffle/863723.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._863723.jpg inflating: Food-101-Annotated/waffle/1462386.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1462386.jpg inflating: Food-101-Annotated/waffle/3598283.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._3598283.jpg inflating: Food-101-Annotated/waffle/3091708.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._3091708.jpg inflating: Food-101-Annotated/waffle/1303736.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1303736.jpg inflating: Food-101-Annotated/waffle/41942.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._41942.jpg inflating: Food-101-Annotated/waffle/2364175.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._2364175.jpg inflating: Food-101-Annotated/chocolate_cake/108268.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._108268.jpg inflating: Food-101-Annotated/chocolate_cake/683202.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._683202.jpg inflating: Food-101-Annotated/chocolate_cake/3125883.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3125883.jpg inflating: Food-101-Annotated/chocolate_cake/568408.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._568408.jpg inflating: Food-101-Annotated/chocolate_cake/2547504.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._2547504.jpg inflating: Food-101-Annotated/chocolate_cake/3555773.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3555773.jpg inflating: Food-101-Annotated/chocolate_cake/1426052.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._1426052.jpg inflating: Food-101-Annotated/chocolate_cake/1393886.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._1393886.jpg inflating: Food-101-Annotated/chocolate_cake/3722155.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3722155.jpg inflating: Food-101-Annotated/chocolate_cake/1672668.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._1672668.jpg inflating: Food-101-Annotated/chocolate_cake/3102746.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3102746.jpg inflating: Food-101-Annotated/chocolate_cake/1074446.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._1074446.jpg inflating: Food-101-Annotated/chocolate_cake/314103.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._314103.jpg inflating: Food-101-Annotated/chocolate_cake/3493807.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3493807.jpg inflating: Food-101-Annotated/chocolate_cake/2408310.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._2408310.jpg inflating: Food-101-Annotated/chocolate_cake/2216361.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._2216361.jpg inflating: Food-101-Annotated/chocolate_cake/391530.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._391530.jpg inflating: Food-101-Annotated/chocolate_cake/3246292.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3246292.jpg inflating: Food-101-Annotated/chocolate_cake/543149.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._543149.jpg inflating: Food-101-Annotated/chocolate_cake/1864488.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._1864488.jpg inflating: Food-101-Annotated/chocolate_cake/2728721.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._2728721.jpg inflating: Food-101-Annotated/chocolate_cake/1012759.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._1012759.jpg inflating: Food-101-Annotated/chocolate_cake/440860.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._440860.jpg inflating: Food-101-Annotated/chocolate_cake/3558621.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3558621.jpg inflating: Food-101-Annotated/chocolate_cake/662729.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._662729.jpg inflating: Food-101-Annotated/chocolate_cake/2933079.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._2933079.jpg inflating: Food-101-Annotated/chocolate_cake/821815.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._821815.jpg inflating: Food-101-Annotated/chocolate_cake/929332.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._929332.jpg inflating: Food-101-Annotated/chocolate_cake/3515934.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3515934.jpg inflating: Food-101-Annotated/chocolate_cake/1363933.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._1363933.jpg inflating: Food-101-Annotated/chocolate_cake/3152730.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3152730.jpg inflating: Food-101-Annotated/chocolate_cake/554548.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._554548.jpg inflating: Food-101-Annotated/chocolate_cake/2437841.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._2437841.jpg inflating: Food-101-Annotated/chocolate_cake/2326455.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._2326455.jpg inflating: Food-101-Annotated/chocolate_cake/333377.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._333377.jpg inflating: Food-101-Annotated/chocolate_cake/2432478.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._2432478.jpg inflating: Food-101-Annotated/chocolate_cake/3440460.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3440460.jpg inflating: Food-101-Annotated/chocolate_cake/1395253.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._1395253.jpg inflating: Food-101-Annotated/chocolate_cake/1779025.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._1779025.jpg inflating: Food-101-Annotated/chocolate_cake/1747450.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._1747450.jpg inflating: Food-101-Annotated/chocolate_cake/3047338.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3047338.jpg inflating: Food-101-Annotated/chocolate_cake/3514876.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3514876.jpg inflating: Food-101-Annotated/chocolate_cake/2721988.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._2721988.jpg inflating: Food-101-Annotated/chocolate_cake/2331005.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._2331005.jpg inflating: Food-101-Annotated/chocolate_cake/3832397.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3832397.jpg inflating: Food-101-Annotated/chocolate_cake/397896.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._397896.jpg inflating: Food-101-Annotated/chocolate_cake/3380282.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3380282.jpg inflating: Food-101-Annotated/chocolate_cake/2016214.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._2016214.jpg inflating: Food-101-Annotated/chocolate_cake/1240545.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._1240545.jpg inflating: Food-101-Annotated/chocolate_cake/615682.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._615682.jpg inflating: Food-101-Annotated/chocolate_cake/3581921.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3581921.jpg inflating: Food-101-Annotated/tacos/73043.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._73043.jpg inflating: Food-101-Annotated/tacos/20787.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._20787.jpg inflating: Food-101-Annotated/tacos/476796.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._476796.jpg inflating: Food-101-Annotated/tacos/6229.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._6229.jpg inflating: Food-101-Annotated/tacos/63928.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._63928.jpg inflating: Food-101-Annotated/tacos/17688.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._17688.jpg inflating: Food-101-Annotated/tacos/123968.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._123968.jpg inflating: Food-101-Annotated/tacos/36081.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._36081.jpg inflating: Food-101-Annotated/tacos/144852.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._144852.jpg inflating: Food-101-Annotated/tacos/616584.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._616584.jpg inflating: Food-101-Annotated/tacos/48840.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._48840.jpg inflating: Food-101-Annotated/tacos/45035.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._45035.jpg inflating: Food-101-Annotated/tacos/17969.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._17969.jpg inflating: Food-101-Annotated/tacos/448340.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._448340.jpg inflating: Food-101-Annotated/tacos/87767.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._87767.jpg inflating: Food-101-Annotated/tacos/48506.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._48506.jpg inflating: Food-101-Annotated/tacos/49803.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._49803.jpg inflating: Food-101-Annotated/tacos/74573.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._74573.jpg inflating: Food-101-Annotated/tacos/20532.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._20532.jpg inflating: Food-101-Annotated/tacos/83935.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._83935.jpg inflating: Food-101-Annotated/tacos/58856.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._58856.jpg inflating: Food-101-Annotated/tacos/20087.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._20087.jpg inflating: Food-101-Annotated/tacos/5813.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._5813.jpg inflating: Food-101-Annotated/tacos/128139.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._128139.jpg inflating: Food-101-Annotated/tacos/125623.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._125623.jpg inflating: Food-101-Annotated/tacos/60069.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._60069.jpg inflating: Food-101-Annotated/tacos/46246.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._46246.jpg inflating: Food-101-Annotated/tacos/127545.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._127545.jpg inflating: Food-101-Annotated/tacos/54252.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._54252.jpg inflating: Food-101-Annotated/tacos/56337.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._56337.jpg inflating: Food-101-Annotated/tacos/121283.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._121283.jpg inflating: Food-101-Annotated/tacos/131906.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._131906.jpg inflating: Food-101-Annotated/tacos/2030.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._2030.jpg inflating: Food-101-Annotated/tacos/27330.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._27330.jpg inflating: Food-101-Annotated/tacos/470015.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._470015.jpg inflating: Food-101-Annotated/tacos/54685.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._54685.jpg inflating: Food-101-Annotated/tacos/108945.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._108945.jpg inflating: Food-101-Annotated/tacos/122809.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._122809.jpg inflating: Food-101-Annotated/tacos/91964.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._91964.jpg inflating: Food-101-Annotated/tacos/63099.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._63099.jpg inflating: Food-101-Annotated/tacos/44578.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._44578.jpg inflating: Food-101-Annotated/tacos/24844.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._24844.jpg inflating: Food-101-Annotated/tacos/108529.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._108529.jpg inflating: Food-101-Annotated/tacos/85137.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._85137.jpg inflating: Food-101-Annotated/tacos/8350.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._8350.jpg inflating: Food-101-Annotated/tacos/21440.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._21440.jpg inflating: Food-101-Annotated/tacos/25784.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._25784.jpg inflating: Food-101-Annotated/tacos/132307.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._132307.jpg inflating: Food-101-Annotated/tacos/80931.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._80931.jpg inflating: Food-101-Annotated/tacos/26489.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._26489.jpg inflating: Food-101-Annotated/tacos/53758.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._53758.jpg inflating: Food-101-Annotated/tacos/75990.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._75990.jpg inflating: Food-101-Annotated/pizza/384215.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._384215.jpg inflating: Food-101-Annotated/pizza/89892.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._89892.jpg inflating: Food-101-Annotated/pizza/1499661.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1499661.jpg inflating: Food-101-Annotated/pizza/1325918.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1325918.jpg inflating: Food-101-Annotated/pizza/1504421.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1504421.jpg inflating: Food-101-Annotated/pizza/951953.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._951953.jpg inflating: Food-101-Annotated/pizza/63480.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._63480.jpg inflating: Food-101-Annotated/pizza/299535.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._299535.jpg inflating: Food-101-Annotated/pizza/1717790.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1717790.jpg inflating: Food-101-Annotated/pizza/614236.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._614236.jpg inflating: Food-101-Annotated/pizza/124815.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._124815.jpg inflating: Food-101-Annotated/pizza/3785667.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._3785667.jpg inflating: Food-101-Annotated/pizza/317861.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._317861.jpg inflating: Food-101-Annotated/pizza/1026922.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1026922.jpg inflating: Food-101-Annotated/pizza/966644.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._966644.jpg inflating: Food-101-Annotated/pizza/1898723.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1898723.jpg inflating: Food-101-Annotated/pizza/324942.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._324942.jpg inflating: Food-101-Annotated/pizza/168879.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._168879.jpg inflating: Food-101-Annotated/pizza/1289139.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1289139.jpg inflating: Food-101-Annotated/pizza/34632.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._34632.jpg inflating: Food-101-Annotated/pizza/212995.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._212995.jpg inflating: Food-101-Annotated/pizza/3822139.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._3822139.jpg inflating: Food-101-Annotated/pizza/148765.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._148765.jpg inflating: Food-101-Annotated/pizza/899959.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._899959.jpg inflating: Food-101-Annotated/pizza/741491.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._741491.jpg inflating: Food-101-Annotated/pizza/83538.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._83538.jpg inflating: Food-101-Annotated/pizza/1897129.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1897129.jpg inflating: Food-101-Annotated/pizza/2811032.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._2811032.jpg inflating: Food-101-Annotated/pizza/514014.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._514014.jpg inflating: Food-101-Annotated/pizza/1836888.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1836888.jpg inflating: Food-101-Annotated/pizza/2760984.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._2760984.jpg inflating: Food-101-Annotated/pizza/1600705.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1600705.jpg inflating: Food-101-Annotated/pizza/896448.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._896448.jpg inflating: Food-101-Annotated/pizza/1183278.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1183278.jpg inflating: Food-101-Annotated/pizza/56449.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._56449.jpg inflating: Food-101-Annotated/pizza/300157.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._300157.jpg inflating: Food-101-Annotated/pizza/741883.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._741883.jpg inflating: Food-101-Annotated/pizza/1084888.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1084888.jpg inflating: Food-101-Annotated/pizza/2003290.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._2003290.jpg inflating: Food-101-Annotated/pizza/228778.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._228778.jpg inflating: Food-101-Annotated/pizza/702165.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._702165.jpg inflating: Food-101-Annotated/pizza/723745.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._723745.jpg inflating: Food-101-Annotated/pizza/1991586.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1991586.jpg inflating: Food-101-Annotated/pizza/89197.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._89197.jpg inflating: Food-101-Annotated/pizza/1065078.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1065078.jpg inflating: Food-101-Annotated/pizza/105910.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._105910.jpg inflating: Food-101-Annotated/pizza/3264148.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._3264148.jpg inflating: Food-101-Annotated/pizza/3337370.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._3337370.jpg inflating: Food-101-Annotated/pizza/1899785.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1899785.jpg inflating: Food-101-Annotated/pizza/93961.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._93961.jpg inflating: Food-101-Annotated/pizza/3333459.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._3333459.jpg inflating: Food-101-Annotated/pizza/53217.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._53217.jpg inflating: Food-101-Annotated/pizza/1011404.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1011404.jpg inflating: Food-101-Annotated/pizza/1137400.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1137400.jpg inflating: Food-101-Annotated/pizza/1915343.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1915343.jpg inflating: Food-101-Annotated/pizza/2478048.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._2478048.jpg inflating: Food-101-Annotated/pizza/141507.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._141507.jpg inflating: Food-101-Annotated/nachos/3122653.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3122653.jpg inflating: Food-101-Annotated/nachos/612532.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._612532.jpg inflating: Food-101-Annotated/nachos/99076.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._99076.jpg inflating: Food-101-Annotated/nachos/175246.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._175246.jpg inflating: Food-101-Annotated/nachos/549614.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._549614.jpg inflating: Food-101-Annotated/nachos/683991.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._683991.jpg inflating: Food-101-Annotated/nachos/144852.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._144852.jpg inflating: Food-101-Annotated/nachos/1754283.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._1754283.jpg inflating: Food-101-Annotated/nachos/1970937.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._1970937.jpg inflating: Food-101-Annotated/nachos/1232631.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._1232631.jpg inflating: Food-101-Annotated/nachos/900389.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._900389.jpg inflating: Food-101-Annotated/nachos/54529.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._54529.jpg inflating: Food-101-Annotated/nachos/699010.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._699010.jpg inflating: Food-101-Annotated/nachos/2434560.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._2434560.jpg inflating: Food-101-Annotated/nachos/3778410.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3778410.jpg inflating: Food-101-Annotated/nachos/239290.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._239290.jpg inflating: Food-101-Annotated/nachos/774749.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._774749.jpg inflating: Food-101-Annotated/nachos/1622013.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._1622013.jpg inflating: Food-101-Annotated/nachos/1577096.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._1577096.jpg inflating: Food-101-Annotated/nachos/3259984.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3259984.jpg inflating: Food-101-Annotated/nachos/2715265.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._2715265.jpg inflating: Food-101-Annotated/nachos/1068026.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._1068026.jpg inflating: Food-101-Annotated/nachos/3714861.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3714861.jpg inflating: Food-101-Annotated/nachos/208464.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._208464.jpg inflating: Food-101-Annotated/nachos/1075843.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._1075843.jpg inflating: Food-101-Annotated/nachos/3492539.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3492539.jpg inflating: Food-101-Annotated/nachos/3644462.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3644462.jpg inflating: Food-101-Annotated/nachos/288930.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._288930.jpg inflating: Food-101-Annotated/nachos/1149411.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._1149411.jpg inflating: Food-101-Annotated/nachos/1381155.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._1381155.jpg inflating: Food-101-Annotated/nachos/3266015.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3266015.jpg inflating: Food-101-Annotated/nachos/3161098.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3161098.jpg inflating: Food-101-Annotated/nachos/54252.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._54252.jpg inflating: Food-101-Annotated/nachos/3817438.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3817438.jpg inflating: Food-101-Annotated/nachos/500252.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._500252.jpg inflating: Food-101-Annotated/nachos/376174.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._376174.jpg inflating: Food-101-Annotated/nachos/3273369.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3273369.jpg inflating: Food-101-Annotated/nachos/2647506.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._2647506.jpg inflating: Food-101-Annotated/nachos/3115939.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3115939.jpg inflating: Food-101-Annotated/nachos/932678.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._932678.jpg inflating: Food-101-Annotated/nachos/787394.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._787394.jpg inflating: Food-101-Annotated/nachos/1890869.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._1890869.jpg inflating: Food-101-Annotated/nachos/225270.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._225270.jpg inflating: Food-101-Annotated/nachos/2847727.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._2847727.jpg inflating: Food-101-Annotated/nachos/450661.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._450661.jpg inflating: Food-101-Annotated/nachos/3471051.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3471051.jpg inflating: Food-101-Annotated/nachos/209662.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._209662.jpg inflating: Food-101-Annotated/nachos/462516.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._462516.jpg inflating: Food-101-Annotated/nachos/2704460.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._2704460.jpg inflating: Food-101-Annotated/nachos/313978.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._313978.jpg inflating: Food-101-Annotated/nachos/2616112.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._2616112.jpg inflating: Food-101-Annotated/french_fries/2907806.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2907806.jpg inflating: Food-101-Annotated/french_fries/2680169.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2680169.jpg inflating: Food-101-Annotated/french_fries/494329.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._494329.jpg inflating: Food-101-Annotated/french_fries/2056007.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2056007.jpg inflating: Food-101-Annotated/french_fries/1767923.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1767923.jpg inflating: Food-101-Annotated/french_fries/2550720.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2550720.jpg inflating: Food-101-Annotated/french_fries/1384733.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1384733.jpg inflating: Food-101-Annotated/french_fries/1531073.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1531073.jpg inflating: Food-101-Annotated/french_fries/109401.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._109401.jpg inflating: Food-101-Annotated/french_fries/2677445.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2677445.jpg inflating: Food-101-Annotated/french_fries/3377570.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._3377570.jpg inflating: Food-101-Annotated/french_fries/348356.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._348356.jpg inflating: Food-101-Annotated/french_fries/3049746.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._3049746.jpg inflating: Food-101-Annotated/french_fries/3345305.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._3345305.jpg inflating: Food-101-Annotated/french_fries/370151.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._370151.jpg inflating: Food-101-Annotated/french_fries/338101.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._338101.jpg inflating: Food-101-Annotated/french_fries/3843922.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._3843922.jpg inflating: Food-101-Annotated/french_fries/1199754.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1199754.jpg inflating: Food-101-Annotated/french_fries/2315325.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2315325.jpg inflating: Food-101-Annotated/french_fries/2696740.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2696740.jpg inflating: Food-101-Annotated/french_fries/1703753.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1703753.jpg inflating: Food-101-Annotated/french_fries/828160.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._828160.jpg inflating: Food-101-Annotated/french_fries/2001882.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2001882.jpg inflating: Food-101-Annotated/french_fries/2015613.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2015613.jpg inflating: Food-101-Annotated/french_fries/3659782.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._3659782.jpg inflating: Food-101-Annotated/french_fries/2661646.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2661646.jpg inflating: Food-101-Annotated/french_fries/1937830.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1937830.jpg inflating: Food-101-Annotated/french_fries/3684873.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._3684873.jpg inflating: Food-101-Annotated/french_fries/2298765.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2298765.jpg inflating: Food-101-Annotated/french_fries/963995.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._963995.jpg inflating: Food-101-Annotated/french_fries/2331134.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2331134.jpg inflating: Food-101-Annotated/french_fries/2029107.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2029107.jpg inflating: Food-101-Annotated/french_fries/2371507.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2371507.jpg inflating: Food-101-Annotated/french_fries/904510.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._904510.jpg inflating: Food-101-Annotated/french_fries/1080215.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1080215.jpg inflating: Food-101-Annotated/french_fries/3167615.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._3167615.jpg inflating: Food-101-Annotated/french_fries/607021.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._607021.jpg inflating: Food-101-Annotated/french_fries/177372.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._177372.jpg inflating: Food-101-Annotated/french_fries/1987068.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1987068.jpg inflating: Food-101-Annotated/french_fries/2958833.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2958833.jpg inflating: Food-101-Annotated/french_fries/1740113.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1740113.jpg inflating: Food-101-Annotated/french_fries/2314805.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2314805.jpg inflating: Food-101-Annotated/french_fries/2195192.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2195192.jpg inflating: Food-101-Annotated/french_fries/1692647.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1692647.jpg inflating: Food-101-Annotated/french_fries/2004116.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2004116.jpg inflating: Food-101-Annotated/french_fries/584234.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._584234.jpg inflating: Food-101-Annotated/french_fries/374001.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._374001.jpg inflating: Food-101-Annotated/french_fries/531883.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._531883.jpg inflating: Food-101-Annotated/french_fries/1694219.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1694219.jpg inflating: Food-101-Annotated/french_fries/2077845.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2077845.jpg inflating: Food-101-Annotated/french_fries/2661893.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2661893.jpg inflating: Food-101-Annotated/french_fries/143158.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._143158.jpg inflating: Food-101-Annotated/french_fries/2335210.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2335210.jpg inflating: Food-101-Annotated/french_fries/2472499.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2472499.jpg inflating: Food-101-Annotated/french_fries/3405511.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._3405511.jpg inflating: Food-101-Annotated/french_fries/1552191.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1552191.jpg inflating: Food-101-Annotated/french_fries/566728.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._566728.jpg inflating: Food-101-Annotated/french_fries/1700344.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1700344.jpg inflating: Food-101-Annotated/french_fries/2229500.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2229500.jpg inflating: Food-101-Annotated/french_fries/375233.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._375233.jpg inflating: Food-101-Annotated/french_fries/2275484.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2275484.jpg inflating: Food-101-Annotated/french_fries/2008616.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2008616.jpg inflating: Food-101-Annotated/french_fries/3223529.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._3223529.jpg inflating: Food-101-Annotated/french_fries/2699989.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2699989.jpg inflating: Food-101-Annotated/french_fries/1099260.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1099260.jpg inflating: Food-101-Annotated/french_fries/353437.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._353437.jpg inflating: Food-101-Annotated/french_fries/2001959.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2001959.jpg inflating: Food-101-Annotated/french_fries/1369116.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1369116.jpg inflating: Food-101-Annotated/french_fries/1165966.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1165966.jpg inflating: Food-101-Annotated/french_fries/622359.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._622359.jpg inflating: Food-101-Annotated/french_fries/2371960.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2371960.jpg inflating: Food-101-Annotated/french_fries/1370900.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1370900.jpg inflating: Food-101-Annotated/french_fries/1150103.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1150103.jpg inflating: Food-101-Annotated/french_fries/557390.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._557390.jpg inflating: Food-101-Annotated/french_fries/3711232.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._3711232.jpg inflating: Food-101-Annotated/french_fries/2856271.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2856271.jpg inflating: Food-101-Annotated/french_fries/1438129.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1438129.jpg inflating: Food-101-Annotated/french_fries/3919465.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._3919465.jpg inflating: Food-101-Annotated/ice_cream/resized_images/85514.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._85514.jpg inflating: Food-101-Annotated/ice_cream/resized_images/621259.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._621259.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1921412.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1921412.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1176281.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1176281.jpg inflating: Food-101-Annotated/ice_cream/resized_images/3465698.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._3465698.jpg inflating: Food-101-Annotated/ice_cream/resized_images/2005850.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._2005850.jpg inflating: Food-101-Annotated/ice_cream/resized_images/2311283.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._2311283.jpg inflating: Food-101-Annotated/ice_cream/resized_images/390886.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._390886.jpg inflating: Food-101-Annotated/ice_cream/resized_images/649653.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._649653.jpg inflating: Food-101-Annotated/ice_cream/resized_images/2862530.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._2862530.jpg inflating: Food-101-Annotated/ice_cream/resized_images/596317.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._596317.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1961230.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1961230.jpg inflating: Food-101-Annotated/ice_cream/resized_images/2752957.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._2752957.jpg inflating: Food-101-Annotated/ice_cream/resized_images/3323080.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._3323080.jpg inflating: Food-101-Annotated/ice_cream/resized_images/995145.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._995145.jpg inflating: Food-101-Annotated/ice_cream/resized_images/510048.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._510048.jpg inflating: Food-101-Annotated/ice_cream/resized_images/660729.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._660729.jpg inflating: Food-101-Annotated/ice_cream/resized_images/598638.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._598638.jpg inflating: Food-101-Annotated/ice_cream/resized_images/2985290.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._2985290.jpg inflating: Food-101-Annotated/ice_cream/resized_images/3384471.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._3384471.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1971651.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1971651.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1272987.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1272987.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1068026.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1068026.jpg inflating: Food-101-Annotated/ice_cream/resized_images/2139248.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._2139248.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1615718.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1615718.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1995311.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1995311.jpg inflating: Food-101-Annotated/ice_cream/resized_images/2289445.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._2289445.jpg inflating: Food-101-Annotated/ice_cream/resized_images/3518829.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._3518829.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1954378.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1954378.jpg inflating: Food-101-Annotated/ice_cream/resized_images/518018.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._518018.jpg inflating: Food-101-Annotated/ice_cream/resized_images/478897.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._478897.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1371104.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1371104.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1629364.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1629364.jpg inflating: Food-101-Annotated/ice_cream/resized_images/3758284.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._3758284.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1262551.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1262551.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1698568.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1698568.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1839769.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1839769.jpg inflating: Food-101-Annotated/ice_cream/resized_images/366955.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._366955.jpg inflating: Food-101-Annotated/ice_cream/resized_images/517105.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._517105.jpg inflating: Food-101-Annotated/ice_cream/resized_images/612548.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._612548.jpg inflating: Food-101-Annotated/ice_cream/resized_images/669677.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._669677.jpg inflating: Food-101-Annotated/ice_cream/resized_images/2948329.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._2948329.jpg inflating: Food-101-Annotated/ice_cream/resized_images/396427.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._396427.jpg inflating: Food-101-Annotated/ice_cream/resized_images/519403.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._519403.jpg inflating: Food-101-Annotated/ice_cream/resized_images/3838718.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._3838718.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1442308.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1442308.jpg inflating: Food-101-Annotated/ice_cream/resized_images/238730.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._238730.jpg inflating: Food-101-Annotated/ice_cream/resized_images/128941.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._128941.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1910824.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1910824.jpg inflating: Food-101-Annotated/ice_cream/resized_images/3380318.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._3380318.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1303736.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1303736.jpg inflating: Food-101-Annotated/ice_cream/resized_images/243829.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._243829.jpg inflating: Food-101-Annotated/ice_cream/resized_images/3693594.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._3693594.jpg inflating: Food-101-Annotated/ice_cream/resized_images/3228081.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._3228081.jpg inflating: Food-101-Annotated/samosa/resized_images/2302.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2302.jpg inflating: Food-101-Annotated/samosa/resized_images/1497664.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1497664.jpg inflating: Food-101-Annotated/samosa/resized_images/195766.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._195766.jpg inflating: Food-101-Annotated/samosa/resized_images/3478622.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3478622.jpg inflating: Food-101-Annotated/samosa/resized_images/2998894.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2998894.jpg inflating: Food-101-Annotated/samosa/resized_images/2778821.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2778821.jpg inflating: Food-101-Annotated/samosa/resized_images/663294.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._663294.jpg inflating: Food-101-Annotated/samosa/resized_images/1526132.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1526132.jpg inflating: Food-101-Annotated/samosa/resized_images/104322.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._104322.jpg inflating: Food-101-Annotated/samosa/resized_images/917040.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._917040.jpg inflating: Food-101-Annotated/samosa/resized_images/3803813.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3803813.jpg inflating: Food-101-Annotated/samosa/resized_images/1189287.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1189287.jpg inflating: Food-101-Annotated/samosa/resized_images/1449447.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1449447.jpg inflating: Food-101-Annotated/samosa/resized_images/15074.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._15074.jpg inflating: Food-101-Annotated/samosa/resized_images/1383505.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1383505.jpg inflating: Food-101-Annotated/samosa/resized_images/2703502.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2703502.jpg inflating: Food-101-Annotated/samosa/resized_images/331119.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._331119.jpg inflating: Food-101-Annotated/samosa/resized_images/1982708.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1982708.jpg inflating: Food-101-Annotated/samosa/resized_images/1453309.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1453309.jpg inflating: Food-101-Annotated/samosa/resized_images/3633981.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3633981.jpg inflating: Food-101-Annotated/samosa/resized_images/2802920.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2802920.jpg inflating: Food-101-Annotated/samosa/resized_images/924149.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._924149.jpg inflating: Food-101-Annotated/samosa/resized_images/3011172.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3011172.jpg inflating: Food-101-Annotated/samosa/resized_images/2189028.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2189028.jpg inflating: Food-101-Annotated/samosa/resized_images/3017105.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3017105.jpg inflating: Food-101-Annotated/samosa/resized_images/2373677.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2373677.jpg inflating: Food-101-Annotated/samosa/resized_images/2408934.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2408934.jpg inflating: Food-101-Annotated/samosa/resized_images/2040239.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2040239.jpg inflating: Food-101-Annotated/samosa/resized_images/3442040.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3442040.jpg inflating: Food-101-Annotated/samosa/resized_images/3921972.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3921972.jpg inflating: Food-101-Annotated/samosa/resized_images/1177448.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1177448.jpg inflating: Food-101-Annotated/samosa/resized_images/2117161.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2117161.jpg inflating: Food-101-Annotated/samosa/resized_images/2072483.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2072483.jpg inflating: Food-101-Annotated/samosa/resized_images/1191466.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1191466.jpg inflating: Food-101-Annotated/samosa/resized_images/1881590.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1881590.jpg inflating: Food-101-Annotated/samosa/resized_images/1239544.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1239544.jpg inflating: Food-101-Annotated/samosa/resized_images/6119.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._6119.jpg inflating: Food-101-Annotated/samosa/resized_images/3397617.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3397617.jpg inflating: Food-101-Annotated/samosa/resized_images/2605136.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2605136.jpg inflating: Food-101-Annotated/samosa/resized_images/1170314.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1170314.jpg inflating: Food-101-Annotated/samosa/resized_images/1083263.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1083263.jpg inflating: Food-101-Annotated/samosa/resized_images/918899.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._918899.jpg inflating: Food-101-Annotated/samosa/resized_images/1917898.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1917898.jpg inflating: Food-101-Annotated/samosa/resized_images/1416302.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1416302.jpg inflating: Food-101-Annotated/samosa/resized_images/2095432.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2095432.jpg inflating: Food-101-Annotated/samosa/resized_images/3436247.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3436247.jpg inflating: Food-101-Annotated/samosa/resized_images/862501.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._862501.jpg inflating: Food-101-Annotated/samosa/resized_images/1526228.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1526228.jpg inflating: Food-101-Annotated/samosa/resized_images/3604106.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3604106.jpg inflating: Food-101-Annotated/samosa/resized_images/2129469.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2129469.jpg inflating: Food-101-Annotated/samosa/resized_images/674960.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._674960.jpg inflating: Food-101-Annotated/samosa/resized_images/672929.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._672929.jpg inflating: Food-101-Annotated/samosa/resized_images/704897.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._704897.jpg inflating: Food-101-Annotated/samosa/resized_images/942933.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._942933.jpg inflating: Food-101-Annotated/samosa/resized_images/1939527.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1939527.jpg inflating: Food-101-Annotated/samosa/resized_images/328693.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._328693.jpg inflating: Food-101-Annotated/samosa/resized_images/1249361.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1249361.jpg inflating: Food-101-Annotated/samosa/resized_images/1750149.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1750149.jpg inflating: Food-101-Annotated/samosa/resized_images/68911.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._68911.jpg inflating: Food-101-Annotated/samosa/resized_images/1539989.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1539989.jpg inflating: Food-101-Annotated/samosa/resized_images/1460553.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1460553.jpg inflating: Food-101-Annotated/samosa/resized_images/1751695.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1751695.jpg inflating: Food-101-Annotated/samosa/resized_images/2855237.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2855237.jpg inflating: Food-101-Annotated/samosa/resized_images/1444587.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1444587.jpg inflating: Food-101-Annotated/samosa/resized_images/3470729.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3470729.jpg inflating: Food-101-Annotated/samosa/resized_images/261040.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._261040.jpg inflating: Food-101-Annotated/samosa/resized_images/62383.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._62383.jpg inflating: Food-101-Annotated/samosa/resized_images/2348924.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2348924.jpg inflating: Food-101-Annotated/samosa/resized_images/3882056.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3882056.jpg inflating: Food-101-Annotated/samosa/resized_images/1499692.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1499692.jpg inflating: Food-101-Annotated/samosa/resized_images/406322.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._406322.jpg
# Correct data directory path
data_dir = 'Food-101-Annotated/'
# Read the annotation file
annotations_df = pd.read_csv('Food-101-Annotated/annotation_refined.csv')
classes = annotations_df['class_name'].unique()
print("Available food classes:")
classes.tolist()
Available food classes:
['french_fries', 'nachos', 'chocolate_cake', 'samosa', 'ice_cream', 'strawberry_shortcake', 'pizza', 'tacos', 'waffle', 'onion_ring']
# Display first few rows of annotations dataframe
print("\nSample of Annotations Data:")
annotations_df.head()
Sample of Annotations Data:
| image | class_name | x_center | y_center | width | height | |
|---|---|---|---|---|---|---|
| 0 | 1199754.jpg | french_fries | 0.509375 | 0.522656 | 0.720313 | 0.771875 |
| 1 | 1232631.jpg | nachos | 0.178125 | 0.717969 | 0.351562 | 0.439063 |
| 2 | 1232631.jpg | nachos | 0.522656 | 0.511719 | 0.932813 | 0.954688 |
| 3 | 2616112.jpg | nachos | 0.165625 | 0.526563 | 0.214844 | 0.465625 |
| 4 | 2616112.jpg | nachos | 0.394531 | 0.482812 | 0.171875 | 0.379688 |
# Display summary statistics of annotations
print("\nAnnotations DataFrame Info:")
annotations_df.info()
Annotations DataFrame Info: <class 'pandas.core.frame.DataFrame'> RangeIndex: 1090 entries, 0 to 1089 Data columns (total 6 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 image 1090 non-null object 1 class_name 1090 non-null object 2 x_center 1090 non-null float64 3 y_center 1090 non-null float64 4 width 1090 non-null float64 5 height 1090 non-null float64 dtypes: float64(4), object(2) memory usage: 51.2+ KB
# Display value counts of classes
print("\nClass Distribution:")
annotations_df['class_name'].value_counts()
Class Distribution:
| count | |
|---|---|
| class_name | |
| samosa | 193 |
| onion_ring | 176 |
| nachos | 143 |
| ice_cream | 125 |
| tacos | 117 |
| french_fries | 81 |
| pizza | 68 |
| strawberry_shortcake | 67 |
| waffle | 65 |
| chocolate_cake | 55 |
# Display value counts of classes
print("\nClass Distribution:")
annotations_df.describe()
Class Distribution:
| x_center | y_center | width | height | |
|---|---|---|---|---|
| count | 1090.000000 | 1090.000000 | 1090.000000 | 1090.000000 |
| mean | 0.503608 | 0.485872 | 0.533300 | 0.502740 |
| std | 0.174767 | 0.152479 | 0.257276 | 0.234620 |
| min | 0.067187 | 0.102344 | 0.001563 | 0.002344 |
| 25% | 0.397656 | 0.392383 | 0.327539 | 0.314844 |
| 50% | 0.503125 | 0.492188 | 0.487109 | 0.463672 |
| 75% | 0.603125 | 0.572656 | 0.753906 | 0.683594 |
| max | 0.953125 | 0.920312 | 1.000000 | 1.000000 |
Visualizing Sample Images with Bounding Boxes for Each Food Class¶
This section displays a visual grid of sample images from the Food-101 dataset, annotated with bounding boxes for each food class. The goal is to provide a clear, visual understanding of how food items are localized within images and to verify the accuracy of the annotations.
import matplotlib.pyplot as plt
import random
for i, class_name in enumerate(classes, 1):
print(f"{i}. {class_name}")
# Process each class separately with 3 images in a 1x3 grid
for food_class in classes:
print(f"\nProcessing class: {food_class}")
class_images = annotations_df[annotations_df['class_name'] == food_class]['image'].unique()
selected_images = random.sample(list(class_images), min(3, len(class_images)))
fig, axes = plt.subplots(1, 3, figsize=(9, 3)) # Adjust width & height as needed
axes = axes.ravel()
for img_idx, image_file in enumerate(selected_images):
draw_yolo_bboxes_from_csv(data_dir, image_file, annotations_df, axes[img_idx], food_class)
# Title and spacing adjustments
fig.suptitle(f"{food_class} Samples with Bounding Boxes", fontsize=14)
plt.tight_layout(pad=2.0) # Adjust pad to control spacing
plt.subplots_adjust(top=0.85) # Make space for suptitle
plt.show()
1. french_fries 2. nachos 3. chocolate_cake 4. samosa 5. ice_cream 6. strawberry_shortcake 7. pizza 8. tacos 9. waffle 10. onion_ring Processing class: french_fries
Processing class: nachos
Processing class: chocolate_cake
Processing class: samosa
Processing class: ice_cream
Processing class: strawberry_shortcake
Processing class: pizza
Processing class: tacos
Processing class: waffle
Processing class: onion_ring
Model Building¶
Performance Metrics: Metrics like accuracy, precision, recall, and F1-score should be evaluated. These metrics help assess the model's ability to distinguish between different food classes, especially when some are more challenging to classify.
Preparing Data Set (Annotated) For Model¶
We have annotated the datset and created a seperate annotation_csv file which contains imagename,classname and xcenter,ycenter,width,height (yolo format) all normalised 0to1.We will be using the same dataset for the model data preprartion and training
# base path of annotated images
base_path='Food-101-Annotated/'
# load image metadata from folder for training and testing
metadata_annotated = load_metadata(base_path)
annotation_df_model=pd.read_csv(f"{base_path}/annotation_refined.csv")
Train Test Split With Image Generator¶
# Take first image only as there might have duplicate entryfor same image as same image mutiple instances of same food item
classification_df = annotation_df_model.groupby('image').first().reset_index()
# create a new volumn file name by concating the classname this will help us in using df for image data generator
classification_df['image_name'] = classification_df.apply(lambda row: f"{row['class_name']}/{row['image']}", axis=1)
# train test split with dividing the class in same propertion
train_df, temp_df = train_test_split(
classification_df,
test_size=0.2,
stratify=classification_df['class_name'], # ensures class distribution is preserved
random_state=42)
valid_df, test_df = train_test_split(
temp_df,
test_size=0.5,
stratify=temp_df['class_name'], # ensures class distribution is preserved
random_state=42)
print(f"Training Set ->{train_df.shape}",f"Validation Set ->{valid_df.shape}",f"Test Set ->{test_df.shape}")
Training Set ->(447, 7) Validation Set ->(56, 7) Test Set ->(56, 7)
df_1=classification_df.groupby('class_name').agg({'image':'count'}).reset_index()
df_2=train_df.groupby('class_name').agg({'image':'count'}).reset_index()
# Rename columns for clarity
df_1 = df_1.rename(columns={'image': 'total_count'})
df_2 = df_2.rename(columns={'image': 'train_count'})
# Merge on 'class_name'
result_df = pd.merge(df_1, df_2, on='class_name', how='outer')
result_df
| class_name | total_count | train_count | |
|---|---|---|---|
| 0 | chocolate_cake | 51 | 41 |
| 1 | french_fries | 78 | 62 |
| 2 | ice_cream | 54 | 43 |
| 3 | nachos | 48 | 38 |
| 4 | onion_ring | 50 | 40 |
| 5 | pizza | 58 | 46 |
| 6 | samosa | 71 | 57 |
| 7 | strawberry_shortcake | 50 | 40 |
| 8 | tacos | 52 | 42 |
| 9 | waffle | 47 | 38 |
- We can see we have 447 for training 56 for testing and 56 will be for valiadation
- We can see each class is equally distributed 80% of total image set for the class from the aboce dataframe
# Define Image data generator for train and testvalidation
train_datagen =ImageDataGenerator(
horizontal_flip=True,
vertical_flip=True,
rotation_range=15,
width_shift_range=0.1,
height_shift_range=0.1,
zoom_range=0.2,
shear_range=0.1,
fill_mode='nearest',
rescale=1/255) #rescale to [0-1], add zoom range of 0.2x and horizontal flip
test_valid_datagen = ImageDataGenerator(rescale=1./255)
# Create training image gen
train_gen = train_datagen.flow_from_dataframe(
train_df,
directory=base_path, # base path
x_col='image_name',
y_col='class_name',
target_size=(128, 128),
class_mode='categorical',
batch_size=32,
shuffle=True
)
# Create test image gen
test_gen = test_valid_datagen.flow_from_dataframe(
test_df,
directory=base_path,
x_col='image_name',
y_col='class_name',
target_size=(128, 128),
class_mode='categorical',
batch_size=32,
shuffle=False
)
# Create valid image gen
valid_gen = test_valid_datagen.flow_from_dataframe(
valid_df,
directory=base_path,
x_col='image_name',
y_col='class_name',
target_size=(128, 128),
class_mode='categorical',
batch_size=32,
shuffle=False
)
Found 446 validated image filenames belonging to 10 classes. Found 56 validated image filenames belonging to 10 classes. Found 56 validated image filenames belonging to 10 classes.
/usr/local/lib/python3.11/dist-packages/keras/src/legacy/preprocessing/image.py:920: UserWarning: Found 1 invalid image filename(s) in x_col="image_name". These filename(s) will be ignored. warnings.warn(
print(train_gen.class_indices)
print(valid_gen.class_indices)
print(test_gen.class_indices)
{'chocolate_cake': 0, 'french_fries': 1, 'ice_cream': 2, 'nachos': 3, 'onion_ring': 4, 'pizza': 5, 'samosa': 6, 'strawberry_shortcake': 7, 'tacos': 8, 'waffle': 9}
{'chocolate_cake': 0, 'french_fries': 1, 'ice_cream': 2, 'nachos': 3, 'onion_ring': 4, 'pizza': 5, 'samosa': 6, 'strawberry_shortcake': 7, 'tacos': 8, 'waffle': 9}
{'chocolate_cake': 0, 'french_fries': 1, 'ice_cream': 2, 'nachos': 3, 'onion_ring': 4, 'pizza': 5, 'samosa': 6, 'strawberry_shortcake': 7, 'tacos': 8, 'waffle': 9}
from collections import Counter
# Count how many instances per class
class_counts = Counter(test_gen.classes)
# Map class indices back to names
index_to_class = {v: k for k, v in test_gen.class_indices.items()}
class_distribution = {index_to_class[i]: count for i, count in class_counts.items()}
# Print result
for class_name, count in class_distribution.items():
print(f"{class_name}: {count}")
ice_cream: 6 french_fries: 8 chocolate_cake: 5 onion_ring: 5 strawberry_shortcake: 5 samosa: 7 tacos: 5 nachos: 5 pizza: 6 waffle: 4
Observations:¶
We can see each classes have some images in test set
Train Test Split Normal (without image generator)¶
images = []
labels = []
for i in metadata_annotated:
img = cv2.imread(i.image_path())
if img is None:
continue
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
img_resized = cv2.resize(img_rgb, (128, 128))
images.append(img_resized/255.0)
labels.append(i.name)
# Convert lists to arrays
X = np.array(images)
y = np.array(labels)
# Encode string labels to integers
label_encoder = LabelEncoder()
y_encoded = label_encoder.fit_transform(y)
y_categorical = to_categorical(y_encoded) # one-hot encoding
# Train-test split
X_train, X_temp, y_train, y_temp = train_test_split(X, y_categorical, test_size=0.2, random_state=42, stratify=y_categorical)
X_valid, X_test, y_valid, y_test = train_test_split(X_temp, y_temp, test_size=0.5, random_state=42, stratify=y_temp)
# Shapes
print(f"Train: {X_train.shape}, {y_train.shape}")
print(f"Valid: {X_valid.shape}, {y_valid.shape}")
print(f"Test: {X_test.shape}, {y_test.shape}")
Train: (452, 128, 128, 3), (452, 10) Valid: (56, 128, 128, 3), (56, 10) Test: (57, 128, 128, 3), (57, 10)
Model Creation¶
Helper Function¶
def build_basic_cnn(input_shape, num_classes):
model = Sequential()
# First Convolutional Block
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=input_shape))
model.add(MaxPooling2D((2, 2)))
# Second Convolutional Block
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D((2, 2)))
# Third Convolutional Block (Optional, but good for slightly more complexity)
model.add(Conv2D(128, (3, 3), activation='relu'))
model.add(MaxPooling2D((2, 2)))
# Flatten the 3D output to 1D for the Dense layers
model.add(Flatten())
# Dense (Fully Connected) Layers
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5)) # Dropout for regularization to prevent overfitting
model.add(Dense(num_classes, activation='softmax')) # Output layer for classification
# Compile the model
model.compile(optimizer=Adam(learning_rate=0.001),
loss='categorical_crossentropy',
metrics=['accuracy'])
return model
def build_basic_cnn_2(input_shape, num_classes, optimizer: Optimizer = Adam(learning_rate=0.001)):
model = Sequential()
# First Convolutional Block
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=input_shape, kernel_initializer='he_normal'))
model.add(MaxPooling2D((2, 2)))
# Second Convolutional Block
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D((2, 2)))
# Third Convolutional Block
model.add(Conv2D(128, (3, 3), activation='relu'))
model.add(MaxPooling2D((2, 2)))
# Flatten and Fully Connected Layers
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(num_classes, activation='softmax'))
# Compile with the given optimizer
model.compile(optimizer=optimizer,
loss='categorical_crossentropy',
metrics=['accuracy'])
return model
def get_callbacks(filepath='cnn_model.weights.h5'):
"""
Returns a tuple of callbacks: ModelCheckpoint, EarlyStopping, and ReduceLROnPlateau.
Parameters:
-----------
filepath : str
Path to save the model weights.
Returns:
--------
tuple :
(ModelCheckpoint, EarlyStopping, ReduceLROnPlateau)
"""
checkpointer = ModelCheckpoint(
filepath=filepath,
verbose=1,
save_best_only=True,
save_weights_only=True
)
earlystopping = EarlyStopping(
monitor='val_loss',
min_delta=0.01,
patience=5,
mode='auto'
)
reduceLR = ReduceLROnPlateau(
monitor='val_loss',
factor=0.5,
patience=10,
mode='auto'
)
return checkpointer, earlystopping, reduceLR
def plot_model_accuracy(history,model):
"""
Plots the accuracy and loss trends over epochs for a trained neural network.
Parameters:
- history: Keras History object containing training metrics.
Displays:
- Subplot 1: Training & Validation Accuracy vs. Epochs
- Subplot 2: Training & Validation Loss vs. Epochs
"""
h1 = history.history # Extract training history
# Get the final values for display in titles
final_train_acc = h1['accuracy'][-1]
final_val_acc = h1['val_accuracy'][-1]
final_train_loss = h1['loss'][-1]
final_val_loss = h1['val_loss'][-1]
plt.figure(figsize=(15, 6))
# Plot Accuracy
plt.subplot(1, 2, 1)
sns.lineplot(y=h1['accuracy'], x=range(len(h1['accuracy'])), label="Training Accuracy", color="green")
sns.lineplot(y=h1['val_accuracy'], x=range(len(h1['val_accuracy'])), label="Validation Accuracy", color="blue")
plt.xlabel("Epochs")
plt.ylabel("Accuracy")
plt.title(f"Accuracy: Train = {final_train_acc:.4f}, Val = {final_val_acc:.4f}")
plt.legend()
# Plot Loss
plt.subplot(1, 2, 2)
sns.lineplot(y=h1['loss'], x=range(len(h1['loss'])), label="Training Loss", color="orange")
sns.lineplot(y=h1['val_loss'], x=range(len(h1['val_loss'])), label="Validation Loss", color="red")
plt.xlabel("Epochs")
plt.ylabel("Loss")
plt.title(f"Loss: Train = {final_train_loss:.4f}, Val = {final_val_loss:.4f}")
plt.legend()
plt.show()
def plot_confusion_matrix(model, test_generator, class_names=None, palette='Set2'):
"""
Plots a confusion matrix heatmap for a model and a generator-based test dataset.
Parameters:
- model: Trained Keras model
- test_generator: Generator for test data
- class_names: List of class names (optional)
- palette: Color palette for heatmap (default: 'Blues')
Displays:
- Heatmap of confusion matrix
"""
# Get predictions and true labels
y_pred = model.predict(test_generator)
y_pred_labels = np.argmax(y_pred, axis=1)
y_true = test_generator.classes # true labels from generator
# Confusion matrix
cm = confusion_matrix(y_true, y_pred_labels)
if class_names is None and hasattr(test_generator, 'class_indices'):
class_names = list(test_generator.class_indices.keys())
plt.figure(figsize=(10, 7))
sns.heatmap(cm, annot=True, fmt='d', cmap=palette,
xticklabels=class_names, yticklabels=class_names)
plt.xlabel('Predicted')
plt.ylabel('Actual')
plt.title('Confusion Matrix')
plt.show()
def visualize_predictions(model, test_generator, class_names=None, num_images=12):
"""
Visualize predictions made by a model on a test generator.
Parameters:
- model: Trained Keras model.
- test_generator: ImageDataGenerator with shuffle=False.
- class_names: List of class names (optional). If None, will use from generator.
- num_images: Number of images to display.
"""
# Get batch of images and labels
images, labels = next(iter(test_generator))
predictions = model.predict(images)
pred_labels = np.argmax(predictions, axis=1)
true_labels = np.argmax(labels, axis=1)
# Use class names from generator if not provided
if class_names is None:
class_names = list(test_generator.class_indices.keys())
plt.figure(figsize=(15, 10))
for i in range(min(num_images, len(images))):
plt.subplot(3, 4, i + 1)
plt.imshow(images[i])
plt.axis('off')
plt.title(f"True: {class_names[true_labels[i]]}\nPred: {class_names[pred_labels[i]]}",
color='green' if pred_labels[i] == true_labels[i] else 'red')
plt.tight_layout()
plt.show()
def generate_classification_report(model, test_generator):
"""
Generate and print a classification report using a Keras model and an image data generator.
Parameters:
- model: Trained Keras model
- test_generator: ImageDataGenerator.flow_from_directory object, must be created with shuffle=False
"""
# Get true labels
y_true = test_generator.classes
class_labels = list(test_generator.class_indices.keys())
# Predict probabilities
y_pred_probs = model.predict(test_generator, verbose=1)
# Convert to predicted class indices
y_pred = np.argmax(y_pred_probs, axis=1)
# Print classification report
report=classification_report(y_true, y_pred, target_names=class_labels)
report_1=classification_report(y_true, y_pred, target_names=class_labels,output_dict=True)
report_df = pd.DataFrame(report_1).transpose()
print(report)
return report_df
With Default Train Test Set (without Balanced)¶
# Define checkpint eraly stopping call back
checkpointer, earlystopping, reduceLR=get_callbacks(filepath='model_2.weights.h5')
# create model
K.clear_session()
cnn_model=build_basic_cnn((128, 128, 3), 10)
cnn_model.summary()
Model: "sequential"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ conv2d (Conv2D) │ (None, 126, 126, 32) │ 896 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ max_pooling2d (MaxPooling2D) │ (None, 63, 63, 32) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ conv2d_1 (Conv2D) │ (None, 61, 61, 64) │ 18,496 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ max_pooling2d_1 (MaxPooling2D) │ (None, 30, 30, 64) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ conv2d_2 (Conv2D) │ (None, 28, 28, 128) │ 73,856 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ max_pooling2d_2 (MaxPooling2D) │ (None, 14, 14, 128) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ flatten (Flatten) │ (None, 25088) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense (Dense) │ (None, 128) │ 3,211,392 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout (Dropout) │ (None, 128) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_1 (Dense) │ (None, 10) │ 1,290 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 3,305,930 (12.61 MB)
Trainable params: 3,305,930 (12.61 MB)
Non-trainable params: 0 (0.00 B)
cnn_model.compile(
optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy']
)
history = cnn_model.fit(
X_train,
y=y_train,
epochs=50,
validation_data=(X_valid, y_valid),
callbacks=[checkpointer, reduceLR, earlystopping]
)
Epoch 1/50 15/15 ━━━━━━━━━━━━━━━━━━━━ 0s 242ms/step - accuracy: 0.1012 - loss: 2.4096 Epoch 1: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 8s 327ms/step - accuracy: 0.1026 - loss: 2.4065 - val_accuracy: 0.2143 - val_loss: 2.2699 - learning_rate: 0.0010 Epoch 2/50 13/15 ━━━━━━━━━━━━━━━━━━━━ 0s 24ms/step - accuracy: 0.1540 - loss: 2.2638 Epoch 2: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 0s 29ms/step - accuracy: 0.1594 - loss: 2.2615 - val_accuracy: 0.1786 - val_loss: 2.1883 - learning_rate: 0.0010 Epoch 3/50 14/15 ━━━━━━━━━━━━━━━━━━━━ 0s 17ms/step - accuracy: 0.2272 - loss: 2.1487 Epoch 3: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 0s 21ms/step - accuracy: 0.2259 - loss: 2.1507 - val_accuracy: 0.2143 - val_loss: 2.1650 - learning_rate: 0.0010 Epoch 4/50 15/15 ━━━━━━━━━━━━━━━━━━━━ 0s 16ms/step - accuracy: 0.2670 - loss: 2.0638 Epoch 4: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 1s 23ms/step - accuracy: 0.2657 - loss: 2.0654 - val_accuracy: 0.1964 - val_loss: 2.1575 - learning_rate: 0.0010 Epoch 5/50 14/15 ━━━━━━━━━━━━━━━━━━━━ 0s 17ms/step - accuracy: 0.3067 - loss: 2.0220 Epoch 5: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - accuracy: 0.3054 - loss: 2.0214 - val_accuracy: 0.1250 - val_loss: 2.2734 - learning_rate: 0.0010 Epoch 6/50 13/15 ━━━━━━━━━━━━━━━━━━━━ 0s 17ms/step - accuracy: 0.2502 - loss: 2.0495 Epoch 6: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 1s 25ms/step - accuracy: 0.2597 - loss: 2.0407 - val_accuracy: 0.2500 - val_loss: 2.1587 - learning_rate: 0.0010 Epoch 7/50 14/15 ━━━━━━━━━━━━━━━━━━━━ 0s 17ms/step - accuracy: 0.3443 - loss: 1.8332 Epoch 7: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 1s 21ms/step - accuracy: 0.3469 - loss: 1.8325 - val_accuracy: 0.1250 - val_loss: 2.1677 - learning_rate: 0.0010 Epoch 8/50 14/15 ━━━━━━━━━━━━━━━━━━━━ 0s 17ms/step - accuracy: 0.4462 - loss: 1.6373 Epoch 8: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - accuracy: 0.4452 - loss: 1.6352 - val_accuracy: 0.2143 - val_loss: 2.2866 - learning_rate: 0.0010 Epoch 9/50 13/15 ━━━━━━━━━━━━━━━━━━━━ 0s 17ms/step - accuracy: 0.4688 - loss: 1.5378 Epoch 9: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 0s 21ms/step - accuracy: 0.4745 - loss: 1.5261 - val_accuracy: 0.2321 - val_loss: 2.4977 - learning_rate: 0.0010 Epoch 10/50 14/15 ━━━━━━━━━━━━━━━━━━━━ 0s 17ms/step - accuracy: 0.5545 - loss: 1.1759 Epoch 10: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - accuracy: 0.5571 - loss: 1.1779 - val_accuracy: 0.1964 - val_loss: 2.5918 - learning_rate: 0.0010 Epoch 11/50 13/15 ━━━━━━━━━━━━━━━━━━━━ 0s 17ms/step - accuracy: 0.7186 - loss: 0.9608 Epoch 11: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - accuracy: 0.7145 - loss: 0.9667 - val_accuracy: 0.2143 - val_loss: 2.8094 - learning_rate: 0.0010 Epoch 12/50 14/15 ━━━━━━━━━━━━━━━━━━━━ 0s 17ms/step - accuracy: 0.7347 - loss: 0.8325 Epoch 12: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 1s 21ms/step - accuracy: 0.7380 - loss: 0.8262 - val_accuracy: 0.2321 - val_loss: 3.2011 - learning_rate: 0.0010 Epoch 13/50 13/15 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - accuracy: 0.7625 - loss: 0.6887 Epoch 13: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 1s 24ms/step - accuracy: 0.7693 - loss: 0.6780 - val_accuracy: 0.2321 - val_loss: 3.4972 - learning_rate: 0.0010 Epoch 14/50 13/15 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - accuracy: 0.8250 - loss: 0.5523 Epoch 14: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 1s 21ms/step - accuracy: 0.8241 - loss: 0.5529 - val_accuracy: 0.1786 - val_loss: 3.5632 - learning_rate: 0.0010 Epoch 15/50 14/15 ━━━━━━━━━━━━━━━━━━━━ 0s 17ms/step - accuracy: 0.8831 - loss: 0.4401 Epoch 15: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 0s 21ms/step - accuracy: 0.8809 - loss: 0.4420 - val_accuracy: 0.1964 - val_loss: 3.9332 - learning_rate: 5.0000e-04 Epoch 16/50 15/15 ━━━━━━━━━━━━━━━━━━━━ 0s 16ms/step - accuracy: 0.8856 - loss: 0.3610 Epoch 16: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 1s 20ms/step - accuracy: 0.8853 - loss: 0.3605 - val_accuracy: 0.1964 - val_loss: 4.1603 - learning_rate: 5.0000e-04 Epoch 17/50 13/15 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - accuracy: 0.8698 - loss: 0.3470 Epoch 17: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 1s 26ms/step - accuracy: 0.8738 - loss: 0.3441 - val_accuracy: 0.1786 - val_loss: 3.9422 - learning_rate: 5.0000e-04 Epoch 18/50 13/15 ━━━━━━━━━━━━━━━━━━━━ 0s 20ms/step - accuracy: 0.9403 - loss: 0.2336 Epoch 18: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 1s 48ms/step - accuracy: 0.9386 - loss: 0.2336 - val_accuracy: 0.2143 - val_loss: 4.2191 - learning_rate: 5.0000e-04 Epoch 19/50 15/15 ━━━━━━━━━━━━━━━━━━━━ 0s 21ms/step - accuracy: 0.9599 - loss: 0.1735 Epoch 19: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 1s 42ms/step - accuracy: 0.9592 - loss: 0.1745 - val_accuracy: 0.2143 - val_loss: 4.6190 - learning_rate: 5.0000e-04 Epoch 20/50 14/15 ━━━━━━━━━━━━━━━━━━━━ 0s 26ms/step - accuracy: 0.9555 - loss: 0.1569 Epoch 20: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 1s 39ms/step - accuracy: 0.9561 - loss: 0.1578 - val_accuracy: 0.1786 - val_loss: 4.7255 - learning_rate: 5.0000e-04 Epoch 21/50 13/15 ━━━━━━━━━━━━━━━━━━━━ 0s 21ms/step - accuracy: 0.9312 - loss: 0.1951 Epoch 21: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 1s 45ms/step - accuracy: 0.9329 - loss: 0.1964 - val_accuracy: 0.1786 - val_loss: 4.4341 - learning_rate: 5.0000e-04 Epoch 22/50 15/15 ━━━━━━━━━━━━━━━━━━━━ 0s 20ms/step - accuracy: 0.9624 - loss: 0.1533 Epoch 22: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 1s 40ms/step - accuracy: 0.9624 - loss: 0.1536 - val_accuracy: 0.1964 - val_loss: 4.0692 - learning_rate: 5.0000e-04 Epoch 23/50 13/15 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - accuracy: 0.9518 - loss: 0.1254 Epoch 23: val_loss did not improve from 1.63336 15/15 ━━━━━━━━━━━━━━━━━━━━ 1s 37ms/step - accuracy: 0.9525 - loss: 0.1302 - val_accuracy: 0.2143 - val_loss: 4.6879 - learning_rate: 5.0000e-04
Model is overfitting
plot_model_accuracy(history,cnn_model)
Observation:¶
The training and validation curve is diverging .Not a good model for further analysis
With Image Generator And balanced Train Set (Adam)¶
# check point and eraly stopping call back
checkpointer, earlystopping, reduceLR=get_callbacks(filepath='model_2.weights.h5')
# create basic model
K.clear_session()
model_2=build_basic_cnn((128, 128, 3), 10)
/usr/local/lib/python3.11/dist-packages/keras/src/layers/convolutional/base_conv.py:107: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead. super().__init__(activity_regularizer=activity_regularizer, **kwargs)
# compile model
model_2.compile(
optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy']
)
# Starting training
history = model_2.fit(
train_gen,
epochs=50,
validation_data=valid_gen,
callbacks=[checkpointer, reduceLR, earlystopping]
)
/usr/local/lib/python3.11/dist-packages/keras/src/trainers/data_adapters/py_dataset_adapter.py:121: UserWarning: Your `PyDataset` class should call `super().__init__(**kwargs)` in its constructor. `**kwargs` can include `workers`, `use_multiprocessing`, `max_queue_size`. Do not pass these arguments to `fit()`, as they will be ignored. self._warn_if_super_not_called()
Epoch 1/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 478ms/step - accuracy: 0.0865 - loss: 2.3364 Epoch 1: val_loss improved from inf to 2.29801, saving model to model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 14s 631ms/step - accuracy: 0.0870 - loss: 2.3356 - val_accuracy: 0.1607 - val_loss: 2.2980 - learning_rate: 0.0010 Epoch 2/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 179ms/step - accuracy: 0.1392 - loss: 2.2951 Epoch 2: val_loss improved from 2.29801 to 2.27082, saving model to model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 203ms/step - accuracy: 0.1395 - loss: 2.2951 - val_accuracy: 0.1964 - val_loss: 2.2708 - learning_rate: 0.0010 Epoch 3/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 182ms/step - accuracy: 0.1855 - loss: 2.2526 Epoch 3: val_loss improved from 2.27082 to 2.19070, saving model to model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 204ms/step - accuracy: 0.1848 - loss: 2.2515 - val_accuracy: 0.1786 - val_loss: 2.1907 - learning_rate: 0.0010 Epoch 4/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 183ms/step - accuracy: 0.1795 - loss: 2.2026 Epoch 4: val_loss improved from 2.19070 to 2.16503, saving model to model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 214ms/step - accuracy: 0.1802 - loss: 2.2013 - val_accuracy: 0.2143 - val_loss: 2.1650 - learning_rate: 0.0010 Epoch 5/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 253ms/step - accuracy: 0.2301 - loss: 2.1607 Epoch 5: val_loss did not improve from 2.16503 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 266ms/step - accuracy: 0.2295 - loss: 2.1603 - val_accuracy: 0.2143 - val_loss: 2.1890 - learning_rate: 0.0010 Epoch 6/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 183ms/step - accuracy: 0.2213 - loss: 2.0869 Epoch 6: val_loss did not improve from 2.16503 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 197ms/step - accuracy: 0.2214 - loss: 2.0878 - val_accuracy: 0.1429 - val_loss: 2.3165 - learning_rate: 0.0010 Epoch 7/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 178ms/step - accuracy: 0.1907 - loss: 2.0870 Epoch 7: val_loss improved from 2.16503 to 2.15649, saving model to model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 199ms/step - accuracy: 0.1923 - loss: 2.0861 - val_accuracy: 0.1964 - val_loss: 2.1565 - learning_rate: 0.0010 Epoch 8/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 180ms/step - accuracy: 0.2282 - loss: 2.0676 Epoch 8: val_loss did not improve from 2.15649 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 193ms/step - accuracy: 0.2305 - loss: 2.0648 - val_accuracy: 0.2321 - val_loss: 2.2249 - learning_rate: 0.0010 Epoch 9/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 259ms/step - accuracy: 0.2470 - loss: 2.0093 Epoch 9: val_loss did not improve from 2.15649 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 278ms/step - accuracy: 0.2472 - loss: 2.0101 - val_accuracy: 0.2321 - val_loss: 2.1629 - learning_rate: 0.0010 Epoch 10/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 181ms/step - accuracy: 0.2513 - loss: 1.9634 Epoch 10: val_loss improved from 2.15649 to 2.04943, saving model to model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 203ms/step - accuracy: 0.2524 - loss: 1.9639 - val_accuracy: 0.2857 - val_loss: 2.0494 - learning_rate: 0.0010 Epoch 11/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 179ms/step - accuracy: 0.3193 - loss: 1.9118 Epoch 11: val_loss did not improve from 2.04943 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 194ms/step - accuracy: 0.3185 - loss: 1.9124 - val_accuracy: 0.2679 - val_loss: 2.0741 - learning_rate: 0.0010 Epoch 12/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 257ms/step - accuracy: 0.3131 - loss: 1.9116 Epoch 12: val_loss did not improve from 2.04943 14/14 ━━━━━━━━━━━━━━━━━━━━ 6s 282ms/step - accuracy: 0.3129 - loss: 1.9139 - val_accuracy: 0.2679 - val_loss: 2.0538 - learning_rate: 0.0010 Epoch 13/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 183ms/step - accuracy: 0.2928 - loss: 1.9432 Epoch 13: val_loss improved from 2.04943 to 2.03074, saving model to model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 204ms/step - accuracy: 0.2944 - loss: 1.9411 - val_accuracy: 0.3393 - val_loss: 2.0307 - learning_rate: 0.0010 Epoch 14/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 180ms/step - accuracy: 0.2859 - loss: 1.9070 Epoch 14: val_loss did not improve from 2.03074 14/14 ━━━━━━━━━━━━━━━━━━━━ 5s 193ms/step - accuracy: 0.2851 - loss: 1.9068 - val_accuracy: 0.2679 - val_loss: 2.1372 - learning_rate: 0.0010 Epoch 15/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 182ms/step - accuracy: 0.3066 - loss: 1.8571 Epoch 15: val_loss did not improve from 2.03074 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 200ms/step - accuracy: 0.3074 - loss: 1.8564 - val_accuracy: 0.3393 - val_loss: 2.1604 - learning_rate: 0.0010 Epoch 16/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 255ms/step - accuracy: 0.3891 - loss: 1.8271 Epoch 16: val_loss did not improve from 2.03074 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 270ms/step - accuracy: 0.3869 - loss: 1.8288 - val_accuracy: 0.3393 - val_loss: 2.1290 - learning_rate: 0.0010 Epoch 17/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 177ms/step - accuracy: 0.3130 - loss: 1.8523 Epoch 17: val_loss did not improve from 2.03074 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 190ms/step - accuracy: 0.3150 - loss: 1.8505 - val_accuracy: 0.3214 - val_loss: 2.0610 - learning_rate: 0.0010 Epoch 18/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 183ms/step - accuracy: 0.2994 - loss: 1.8438 Epoch 18: val_loss did not improve from 2.03074 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 196ms/step - accuracy: 0.3002 - loss: 1.8440 - val_accuracy: 0.3214 - val_loss: 2.1416 - learning_rate: 0.0010 Epoch 19/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 179ms/step - accuracy: 0.3271 - loss: 1.8279 Epoch 19: val_loss did not improve from 2.03074 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 192ms/step - accuracy: 0.3290 - loss: 1.8280 - val_accuracy: 0.3393 - val_loss: 2.0837 - learning_rate: 0.0010 Epoch 20/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 253ms/step - accuracy: 0.3517 - loss: 1.7238 Epoch 20: val_loss did not improve from 2.03074 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 271ms/step - accuracy: 0.3508 - loss: 1.7265 - val_accuracy: 0.3214 - val_loss: 2.1897 - learning_rate: 0.0010 Epoch 21/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 189ms/step - accuracy: 0.3517 - loss: 1.7843 Epoch 21: val_loss did not improve from 2.03074 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 202ms/step - accuracy: 0.3495 - loss: 1.7913 - val_accuracy: 0.3571 - val_loss: 2.0574 - learning_rate: 0.0010 Epoch 22/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 178ms/step - accuracy: 0.3255 - loss: 1.7916 Epoch 22: val_loss did not improve from 2.03074 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 191ms/step - accuracy: 0.3264 - loss: 1.7923 - val_accuracy: 0.2857 - val_loss: 2.0939 - learning_rate: 0.0010 Epoch 23/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 181ms/step - accuracy: 0.3599 - loss: 1.7747 Epoch 23: val_loss did not improve from 2.03074 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 195ms/step - accuracy: 0.3603 - loss: 1.7728 - val_accuracy: 0.2857 - val_loss: 2.2142 - learning_rate: 0.0010 Epoch 24/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 207ms/step - accuracy: 0.3770 - loss: 1.7190 Epoch 24: val_loss did not improve from 2.03074 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 225ms/step - accuracy: 0.3782 - loss: 1.7195 - val_accuracy: 0.2857 - val_loss: 2.2082 - learning_rate: 5.0000e-04 Epoch 25/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 176ms/step - accuracy: 0.3441 - loss: 1.7958 Epoch 25: val_loss did not improve from 2.03074 14/14 ━━━━━━━━━━━━━━━━━━━━ 5s 189ms/step - accuracy: 0.3447 - loss: 1.7916 - val_accuracy: 0.3036 - val_loss: 2.1900 - learning_rate: 5.0000e-04 Epoch 26/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 184ms/step - accuracy: 0.3958 - loss: 1.6648 Epoch 26: val_loss improved from 2.03074 to 2.00356, saving model to model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 205ms/step - accuracy: 0.3968 - loss: 1.6628 - val_accuracy: 0.4107 - val_loss: 2.0036 - learning_rate: 5.0000e-04 Epoch 27/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 179ms/step - accuracy: 0.4179 - loss: 1.5828 Epoch 27: val_loss improved from 2.00356 to 1.97448, saving model to model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 201ms/step - accuracy: 0.4168 - loss: 1.5840 - val_accuracy: 0.4107 - val_loss: 1.9745 - learning_rate: 5.0000e-04 Epoch 28/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 252ms/step - accuracy: 0.4444 - loss: 1.5592 Epoch 28: val_loss did not improve from 1.97448 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 277ms/step - accuracy: 0.4443 - loss: 1.5590 - val_accuracy: 0.3393 - val_loss: 2.0945 - learning_rate: 5.0000e-04 Epoch 29/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 183ms/step - accuracy: 0.4195 - loss: 1.6237 Epoch 29: val_loss did not improve from 1.97448 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 196ms/step - accuracy: 0.4193 - loss: 1.6222 - val_accuracy: 0.4286 - val_loss: 1.9803 - learning_rate: 5.0000e-04 Epoch 30/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 181ms/step - accuracy: 0.4430 - loss: 1.5234 Epoch 30: val_loss did not improve from 1.97448 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 194ms/step - accuracy: 0.4438 - loss: 1.5249 - val_accuracy: 0.2857 - val_loss: 2.1961 - learning_rate: 5.0000e-04 Epoch 31/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 179ms/step - accuracy: 0.4131 - loss: 1.5838 Epoch 31: val_loss did not improve from 1.97448 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 192ms/step - accuracy: 0.4151 - loss: 1.5815 - val_accuracy: 0.4464 - val_loss: 2.1299 - learning_rate: 5.0000e-04 Epoch 32/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 192ms/step - accuracy: 0.3614 - loss: 1.6509 Epoch 32: val_loss did not improve from 1.97448 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 211ms/step - accuracy: 0.3651 - loss: 1.6480 - val_accuracy: 0.3571 - val_loss: 2.2241 - learning_rate: 5.0000e-04 Epoch 33/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 286ms/step - accuracy: 0.4299 - loss: 1.5490 Epoch 33: val_loss did not improve from 1.97448 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 298ms/step - accuracy: 0.4304 - loss: 1.5490 - val_accuracy: 0.3750 - val_loss: 2.1025 - learning_rate: 5.0000e-04 Epoch 34/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 179ms/step - accuracy: 0.4411 - loss: 1.5088 Epoch 34: val_loss did not improve from 1.97448 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 193ms/step - accuracy: 0.4412 - loss: 1.5101 - val_accuracy: 0.4107 - val_loss: 2.0748 - learning_rate: 5.0000e-04 Epoch 35/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 179ms/step - accuracy: 0.4549 - loss: 1.5297 Epoch 35: val_loss did not improve from 1.97448 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 192ms/step - accuracy: 0.4558 - loss: 1.5293 - val_accuracy: 0.4286 - val_loss: 2.0844 - learning_rate: 5.0000e-04 Epoch 36/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 180ms/step - accuracy: 0.4793 - loss: 1.5011 Epoch 36: val_loss did not improve from 1.97448 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 192ms/step - accuracy: 0.4801 - loss: 1.5006 - val_accuracy: 0.3929 - val_loss: 2.1271 - learning_rate: 5.0000e-04 Epoch 37/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 273ms/step - accuracy: 0.5140 - loss: 1.4248 Epoch 37: val_loss did not improve from 1.97448 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 286ms/step - accuracy: 0.5120 - loss: 1.4272 - val_accuracy: 0.4286 - val_loss: 2.0606 - learning_rate: 5.0000e-04 Epoch 38/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 183ms/step - accuracy: 0.4727 - loss: 1.5180 Epoch 38: val_loss did not improve from 1.97448 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 196ms/step - accuracy: 0.4708 - loss: 1.5183 - val_accuracy: 0.4107 - val_loss: 2.0587 - learning_rate: 2.5000e-04 Epoch 39/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 180ms/step - accuracy: 0.4730 - loss: 1.4134 Epoch 39: val_loss did not improve from 1.97448 14/14 ━━━━━━━━━━━━━━━━━━━━ 5s 194ms/step - accuracy: 0.4727 - loss: 1.4160 - val_accuracy: 0.4464 - val_loss: 2.0646 - learning_rate: 2.5000e-04 Epoch 40/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 207ms/step - accuracy: 0.4515 - loss: 1.4501 Epoch 40: val_loss did not improve from 1.97448 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 232ms/step - accuracy: 0.4540 - loss: 1.4467 - val_accuracy: 0.4464 - val_loss: 1.9971 - learning_rate: 2.5000e-04 Epoch 41/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 235ms/step - accuracy: 0.4626 - loss: 1.4628 Epoch 41: val_loss did not improve from 1.97448 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 247ms/step - accuracy: 0.4630 - loss: 1.4632 - val_accuracy: 0.4286 - val_loss: 2.0065 - learning_rate: 2.5000e-04 Epoch 42/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 184ms/step - accuracy: 0.5062 - loss: 1.3347 Epoch 42: val_loss did not improve from 1.97448 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 197ms/step - accuracy: 0.5049 - loss: 1.3391 - val_accuracy: 0.4643 - val_loss: 2.0041 - learning_rate: 2.5000e-04 Epoch 43/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 178ms/step - accuracy: 0.5274 - loss: 1.3911 Epoch 43: val_loss did not improve from 1.97448 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 190ms/step - accuracy: 0.5242 - loss: 1.3968 - val_accuracy: 0.4107 - val_loss: 2.0694 - learning_rate: 2.5000e-04 Epoch 44/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 233ms/step - accuracy: 0.5570 - loss: 1.3475 Epoch 44: val_loss did not improve from 1.97448 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 251ms/step - accuracy: 0.5554 - loss: 1.3524 - val_accuracy: 0.3750 - val_loss: 2.2388 - learning_rate: 2.5000e-04 Epoch 45/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 211ms/step - accuracy: 0.4696 - loss: 1.4701 Epoch 45: val_loss did not improve from 1.97448 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 223ms/step - accuracy: 0.4713 - loss: 1.4672 - val_accuracy: 0.5000 - val_loss: 2.0221 - learning_rate: 2.5000e-04 Epoch 46/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 182ms/step - accuracy: 0.5258 - loss: 1.3349 Epoch 46: val_loss improved from 1.97448 to 1.97421, saving model to model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 203ms/step - accuracy: 0.5257 - loss: 1.3367 - val_accuracy: 0.5000 - val_loss: 1.9742 - learning_rate: 2.5000e-04 Epoch 47/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 179ms/step - accuracy: 0.5265 - loss: 1.4327 Epoch 47: val_loss did not improve from 1.97421 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 192ms/step - accuracy: 0.5262 - loss: 1.4298 - val_accuracy: 0.4107 - val_loss: 2.1361 - learning_rate: 2.5000e-04
plot_model_accuracy(history,model_2)
- So much noise in training and validation
- We can see its going up an down significantly and model training accuracy of 52% tells that model is failing to learn nuancest features
model_2.evaluate(test_gen)
/usr/local/lib/python3.11/dist-packages/keras/src/trainers/data_adapters/py_dataset_adapter.py:121: UserWarning: Your `PyDataset` class should call `super().__init__(**kwargs)` in its constructor. `**kwargs` can include `workers`, `use_multiprocessing`, `max_queue_size`. Do not pass these arguments to `fit()`, as they will be ignored. self._warn_if_super_not_called()
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 61ms/step - accuracy: 0.5000 - loss: 1.5691
[1.6031839847564697, 0.5]
Observations:¶
- Model failed to generalise as training accuracy is around 52% with validation accuracy is at 41%.
- Test acccuracy is around 50%
- We can see both validation and train curve has noises .
# SHow classfication report
generate_classification_report(model_2, test_gen)
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 309ms/step precision recall f1-score support chocolate_cake 1.00 1.00 1.00 5 french_fries 0.50 0.62 0.56 8 ice_cream 0.57 0.67 0.62 6 nachos 0.33 0.20 0.25 5 onion_ring 0.20 0.20 0.20 5 pizza 0.55 1.00 0.71 6 samosa 0.17 0.14 0.15 7 strawberry_shortcake 1.00 0.40 0.57 5 tacos 0.50 0.40 0.44 5 waffle 0.33 0.25 0.29 4 accuracy 0.50 56 macro avg 0.52 0.49 0.48 56 weighted avg 0.51 0.50 0.48 56
# Show Confusion matrix
plot_confusion_matrix(model_2,test_gen,list(test_gen.class_indices.keys()))
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 65ms/step
Observations:¶
Overall Test Accuracy: 50%
Overall Accuracy is at 52%
High Performing Classes:
chocolate_cake,pizza,ice_creamshow good precision and recall.Poorly Learned Classes:
samosa,onion_ring,strawberry_shortcake— either completely misclassified or low recall.
Model With He normal and more layers(Adam)¶
# check point and eraly stopping call back
checkpointer, earlystopping, reduceLR=get_callbacks(filepath='cnn_model_2.weights.h5')
# define the model bulding from utility
K.clear_session()
cnn_model_2=build_basic_cnn_2((128, 128, 3), 10)
/usr/local/lib/python3.11/dist-packages/keras/src/layers/convolutional/base_conv.py:107: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead. super().__init__(activity_regularizer=activity_regularizer, **kwargs)
cnn_model_2.compile(
optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy']
)
history = cnn_model_2.fit(
train_gen,
epochs=50,
validation_data=valid_gen,
callbacks=[checkpointer, reduceLR, earlystopping]
)
Epoch 1/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 270ms/step - accuracy: 0.0770 - loss: 2.7664 Epoch 1: val_loss improved from inf to 2.28435, saving model to cnn_model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 8s 409ms/step - accuracy: 0.0777 - loss: 2.7506 - val_accuracy: 0.1250 - val_loss: 2.2843 - learning_rate: 0.0010 Epoch 2/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 339ms/step - accuracy: 0.1141 - loss: 2.2798 Epoch 2: val_loss improved from 2.28435 to 2.22756, saving model to cnn_model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 5s 376ms/step - accuracy: 0.1152 - loss: 2.2794 - val_accuracy: 0.1429 - val_loss: 2.2276 - learning_rate: 0.0010 Epoch 3/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 189ms/step - accuracy: 0.1768 - loss: 2.1937 Epoch 3: val_loss did not improve from 2.22756 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 203ms/step - accuracy: 0.1764 - loss: 2.1945 - val_accuracy: 0.1250 - val_loss: 2.2510 - learning_rate: 0.0010 Epoch 4/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 183ms/step - accuracy: 0.1337 - loss: 2.2320 Epoch 4: val_loss did not improve from 2.22756 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 197ms/step - accuracy: 0.1354 - loss: 2.2302 - val_accuracy: 0.1786 - val_loss: 2.2319 - learning_rate: 0.0010 Epoch 5/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 198ms/step - accuracy: 0.2185 - loss: 2.1637 Epoch 5: val_loss improved from 2.22756 to 2.16096, saving model to cnn_model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 231ms/step - accuracy: 0.2183 - loss: 2.1633 - val_accuracy: 0.3036 - val_loss: 2.1610 - learning_rate: 0.0010 Epoch 6/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 253ms/step - accuracy: 0.2161 - loss: 2.1454 Epoch 6: val_loss improved from 2.16096 to 2.13033, saving model to cnn_model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 276ms/step - accuracy: 0.2168 - loss: 2.1443 - val_accuracy: 0.3036 - val_loss: 2.1303 - learning_rate: 0.0010 Epoch 7/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 189ms/step - accuracy: 0.2142 - loss: 2.0771 Epoch 7: val_loss improved from 2.13033 to 2.11435, saving model to cnn_model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 212ms/step - accuracy: 0.2141 - loss: 2.0776 - val_accuracy: 0.2679 - val_loss: 2.1143 - learning_rate: 0.0010 Epoch 8/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 184ms/step - accuracy: 0.2793 - loss: 2.0360 Epoch 8: val_loss did not improve from 2.11435 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 209ms/step - accuracy: 0.2787 - loss: 2.0371 - val_accuracy: 0.2857 - val_loss: 2.1367 - learning_rate: 0.0010 Epoch 9/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 185ms/step - accuracy: 0.2434 - loss: 1.9952 Epoch 9: val_loss improved from 2.11435 to 2.10751, saving model to cnn_model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 224ms/step - accuracy: 0.2421 - loss: 1.9981 - val_accuracy: 0.2679 - val_loss: 2.1075 - learning_rate: 0.0010 Epoch 10/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 188ms/step - accuracy: 0.3152 - loss: 1.9892 Epoch 10: val_loss improved from 2.10751 to 1.98847, saving model to cnn_model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 5s 211ms/step - accuracy: 0.3148 - loss: 1.9867 - val_accuracy: 0.3393 - val_loss: 1.9885 - learning_rate: 0.0010 Epoch 11/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 180ms/step - accuracy: 0.2695 - loss: 1.9874 Epoch 11: val_loss did not improve from 1.98847 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 193ms/step - accuracy: 0.2684 - loss: 1.9891 - val_accuracy: 0.2679 - val_loss: 2.0332 - learning_rate: 0.0010 Epoch 12/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 181ms/step - accuracy: 0.2844 - loss: 1.9673 Epoch 12: val_loss did not improve from 1.98847 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 195ms/step - accuracy: 0.2842 - loss: 1.9696 - val_accuracy: 0.2679 - val_loss: 1.9988 - learning_rate: 0.0010 Epoch 13/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 250ms/step - accuracy: 0.3083 - loss: 1.8955 Epoch 13: val_loss did not improve from 1.98847 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 275ms/step - accuracy: 0.3059 - loss: 1.8983 - val_accuracy: 0.1964 - val_loss: 2.1030 - learning_rate: 0.0010 Epoch 14/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 186ms/step - accuracy: 0.3163 - loss: 1.9678 Epoch 14: val_loss improved from 1.98847 to 1.94321, saving model to cnn_model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 209ms/step - accuracy: 0.3154 - loss: 1.9674 - val_accuracy: 0.2857 - val_loss: 1.9432 - learning_rate: 0.0010 Epoch 15/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 178ms/step - accuracy: 0.3153 - loss: 1.8916 Epoch 15: val_loss did not improve from 1.94321 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 191ms/step - accuracy: 0.3153 - loss: 1.8913 - val_accuracy: 0.2857 - val_loss: 1.9540 - learning_rate: 0.0010 Epoch 16/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 181ms/step - accuracy: 0.3577 - loss: 1.8141 Epoch 16: val_loss did not improve from 1.94321 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 196ms/step - accuracy: 0.3555 - loss: 1.8179 - val_accuracy: 0.3214 - val_loss: 1.9634 - learning_rate: 0.0010 Epoch 17/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 265ms/step - accuracy: 0.3951 - loss: 1.8192 Epoch 17: val_loss did not improve from 1.94321 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 290ms/step - accuracy: 0.3937 - loss: 1.8192 - val_accuracy: 0.2857 - val_loss: 2.0764 - learning_rate: 0.0010 Epoch 18/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 186ms/step - accuracy: 0.3680 - loss: 1.8687 Epoch 18: val_loss did not improve from 1.94321 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 199ms/step - accuracy: 0.3675 - loss: 1.8666 - val_accuracy: 0.3036 - val_loss: 2.0689 - learning_rate: 0.0010 Epoch 19/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 186ms/step - accuracy: 0.3942 - loss: 1.7806 Epoch 19: val_loss did not improve from 1.94321 14/14 ━━━━━━━━━━━━━━━━━━━━ 5s 200ms/step - accuracy: 0.3942 - loss: 1.7803 - val_accuracy: 0.3750 - val_loss: 1.9793 - learning_rate: 0.0010 Epoch 20/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 250ms/step - accuracy: 0.3576 - loss: 1.7875 Epoch 20: val_loss improved from 1.94321 to 1.91844, saving model to cnn_model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 289ms/step - accuracy: 0.3590 - loss: 1.7869 - val_accuracy: 0.4286 - val_loss: 1.9184 - learning_rate: 0.0010 Epoch 21/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 188ms/step - accuracy: 0.3200 - loss: 1.8562 Epoch 21: val_loss did not improve from 1.91844 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 202ms/step - accuracy: 0.3219 - loss: 1.8527 - val_accuracy: 0.2857 - val_loss: 1.9747 - learning_rate: 0.0010 Epoch 22/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 186ms/step - accuracy: 0.3887 - loss: 1.7691 Epoch 22: val_loss did not improve from 1.91844 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 199ms/step - accuracy: 0.3890 - loss: 1.7693 - val_accuracy: 0.3571 - val_loss: 1.9332 - learning_rate: 0.0010 Epoch 23/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 183ms/step - accuracy: 0.3879 - loss: 1.7563 Epoch 23: val_loss did not improve from 1.91844 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 196ms/step - accuracy: 0.3876 - loss: 1.7544 - val_accuracy: 0.3393 - val_loss: 2.0281 - learning_rate: 0.0010 Epoch 24/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 271ms/step - accuracy: 0.4219 - loss: 1.6812 Epoch 24: val_loss improved from 1.91844 to 1.86413, saving model to cnn_model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 305ms/step - accuracy: 0.4210 - loss: 1.6805 - val_accuracy: 0.3393 - val_loss: 1.8641 - learning_rate: 0.0010 Epoch 25/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 188ms/step - accuracy: 0.4650 - loss: 1.5726 Epoch 25: val_loss improved from 1.86413 to 1.78121, saving model to cnn_model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 212ms/step - accuracy: 0.4637 - loss: 1.5757 - val_accuracy: 0.4286 - val_loss: 1.7812 - learning_rate: 0.0010 Epoch 26/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 187ms/step - accuracy: 0.4326 - loss: 1.6128 Epoch 26: val_loss did not improve from 1.78121 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 212ms/step - accuracy: 0.4308 - loss: 1.6148 - val_accuracy: 0.3036 - val_loss: 1.8514 - learning_rate: 0.0010 Epoch 27/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 185ms/step - accuracy: 0.4305 - loss: 1.6536 Epoch 27: val_loss did not improve from 1.78121 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 199ms/step - accuracy: 0.4294 - loss: 1.6554 - val_accuracy: 0.3393 - val_loss: 1.9455 - learning_rate: 0.0010 Epoch 28/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 290ms/step - accuracy: 0.4085 - loss: 1.6231 Epoch 28: val_loss did not improve from 1.78121 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 315ms/step - accuracy: 0.4080 - loss: 1.6241 - val_accuracy: 0.4107 - val_loss: 1.9274 - learning_rate: 0.0010 Epoch 29/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 186ms/step - accuracy: 0.4514 - loss: 1.6446 Epoch 29: val_loss did not improve from 1.78121 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 198ms/step - accuracy: 0.4500 - loss: 1.6437 - val_accuracy: 0.3929 - val_loss: 1.8457 - learning_rate: 0.0010 Epoch 30/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 183ms/step - accuracy: 0.4422 - loss: 1.5868 Epoch 30: val_loss did not improve from 1.78121 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 197ms/step - accuracy: 0.4417 - loss: 1.5883 - val_accuracy: 0.3393 - val_loss: 1.9285 - learning_rate: 0.0010 Epoch 31/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 184ms/step - accuracy: 0.5040 - loss: 1.4677 Epoch 31: val_loss did not improve from 1.78121 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 209ms/step - accuracy: 0.5028 - loss: 1.4695 - val_accuracy: 0.2857 - val_loss: 2.1038 - learning_rate: 0.0010 Epoch 32/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 258ms/step - accuracy: 0.4455 - loss: 1.5679 Epoch 32: val_loss did not improve from 1.78121 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 283ms/step - accuracy: 0.4455 - loss: 1.5693 - val_accuracy: 0.3214 - val_loss: 1.8913 - learning_rate: 0.0010 Epoch 33/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 181ms/step - accuracy: 0.5022 - loss: 1.5076 Epoch 33: val_loss did not improve from 1.78121 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 194ms/step - accuracy: 0.5003 - loss: 1.5099 - val_accuracy: 0.3750 - val_loss: 1.8602 - learning_rate: 0.0010 Epoch 34/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 185ms/step - accuracy: 0.4211 - loss: 1.6381 Epoch 34: val_loss did not improve from 1.78121 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 198ms/step - accuracy: 0.4225 - loss: 1.6330 - val_accuracy: 0.3214 - val_loss: 1.8660 - learning_rate: 0.0010 Epoch 35/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 186ms/step - accuracy: 0.4825 - loss: 1.5003 Epoch 35: val_loss did not improve from 1.78121 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 201ms/step - accuracy: 0.4832 - loss: 1.4985 - val_accuracy: 0.3750 - val_loss: 1.9433 - learning_rate: 0.0010 Epoch 36/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 279ms/step - accuracy: 0.5250 - loss: 1.4188 Epoch 36: val_loss improved from 1.78121 to 1.75832, saving model to cnn_model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 315ms/step - accuracy: 0.5235 - loss: 1.4210 - val_accuracy: 0.4464 - val_loss: 1.7583 - learning_rate: 5.0000e-04 Epoch 37/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 181ms/step - accuracy: 0.4737 - loss: 1.5109 Epoch 37: val_loss did not improve from 1.75832 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 195ms/step - accuracy: 0.4747 - loss: 1.5069 - val_accuracy: 0.4286 - val_loss: 1.7786 - learning_rate: 5.0000e-04 Epoch 38/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 183ms/step - accuracy: 0.4998 - loss: 1.3879 Epoch 38: val_loss did not improve from 1.75832 14/14 ━━━━━━━━━━━━━━━━━━━━ 5s 196ms/step - accuracy: 0.4995 - loss: 1.3885 - val_accuracy: 0.4821 - val_loss: 1.7657 - learning_rate: 5.0000e-04 Epoch 39/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 203ms/step - accuracy: 0.5556 - loss: 1.3541 Epoch 39: val_loss did not improve from 1.75832 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 222ms/step - accuracy: 0.5546 - loss: 1.3556 - val_accuracy: 0.3571 - val_loss: 1.7976 - learning_rate: 5.0000e-04 Epoch 40/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 186ms/step - accuracy: 0.4894 - loss: 1.3317 Epoch 40: val_loss did not improve from 1.75832 14/14 ━━━━━━━━━━━━━━━━━━━━ 5s 199ms/step - accuracy: 0.4901 - loss: 1.3336 - val_accuracy: 0.3929 - val_loss: 1.9269 - learning_rate: 5.0000e-04 Epoch 41/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 183ms/step - accuracy: 0.4893 - loss: 1.3505 Epoch 41: val_loss did not improve from 1.75832 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 197ms/step - accuracy: 0.4893 - loss: 1.3527 - val_accuracy: 0.4821 - val_loss: 1.8018 - learning_rate: 5.0000e-04 Epoch 42/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 189ms/step - accuracy: 0.5180 - loss: 1.2948 Epoch 42: val_loss improved from 1.75832 to 1.71094, saving model to cnn_model_2.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 212ms/step - accuracy: 0.5181 - loss: 1.2961 - val_accuracy: 0.4286 - val_loss: 1.7109 - learning_rate: 5.0000e-04 Epoch 43/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 218ms/step - accuracy: 0.5272 - loss: 1.3044 Epoch 43: val_loss did not improve from 1.71094 14/14 ━━━━━━━━━━━━━━━━━━━━ 5s 231ms/step - accuracy: 0.5264 - loss: 1.3064 - val_accuracy: 0.3750 - val_loss: 1.8483 - learning_rate: 5.0000e-04 Epoch 44/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 190ms/step - accuracy: 0.5827 - loss: 1.2260 Epoch 44: val_loss did not improve from 1.71094 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 204ms/step - accuracy: 0.5794 - loss: 1.2326 - val_accuracy: 0.4107 - val_loss: 1.7893 - learning_rate: 5.0000e-04 Epoch 45/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 184ms/step - accuracy: 0.5075 - loss: 1.3605 Epoch 45: val_loss did not improve from 1.71094 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 197ms/step - accuracy: 0.5098 - loss: 1.3555 - val_accuracy: 0.4464 - val_loss: 1.7259 - learning_rate: 5.0000e-04 Epoch 46/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 196ms/step - accuracy: 0.5507 - loss: 1.2950 Epoch 46: val_loss did not improve from 1.71094 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 214ms/step - accuracy: 0.5499 - loss: 1.2937 - val_accuracy: 0.4821 - val_loss: 1.9161 - learning_rate: 5.0000e-04 Epoch 47/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 260ms/step - accuracy: 0.5112 - loss: 1.3212 Epoch 47: val_loss did not improve from 1.71094 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 272ms/step - accuracy: 0.5132 - loss: 1.3201 - val_accuracy: 0.3571 - val_loss: 2.0501 - learning_rate: 5.0000e-04 Epoch 48/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 192ms/step - accuracy: 0.5673 - loss: 1.3060 Epoch 48: val_loss did not improve from 1.71094 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 206ms/step - accuracy: 0.5682 - loss: 1.3028 - val_accuracy: 0.3929 - val_loss: 1.8141 - learning_rate: 5.0000e-04 Epoch 49/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 183ms/step - accuracy: 0.5567 - loss: 1.2186 Epoch 49: val_loss did not improve from 1.71094 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 196ms/step - accuracy: 0.5567 - loss: 1.2203 - val_accuracy: 0.4464 - val_loss: 1.9469 - learning_rate: 5.0000e-04 Epoch 50/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 186ms/step - accuracy: 0.5881 - loss: 1.2170 Epoch 50: val_loss did not improve from 1.71094 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 199ms/step - accuracy: 0.5867 - loss: 1.2198 - val_accuracy: 0.3929 - val_loss: 1.9444 - learning_rate: 5.0000e-04
plot_model_accuracy(history,cnn_model_2)
cnn_model_2.evaluate(test_gen)
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 70ms/step - accuracy: 0.4643 - loss: 1.6471
[1.7094813585281372, 0.4464285671710968]
# SHow classfication report
generate_classification_report(cnn_model_2, test_gen)
WARNING:tensorflow:5 out of the last 9 calls to <function TensorFlowTrainer.make_predict_function.<locals>.one_step_on_data_distributed at 0x7b41e1c942c0> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has reduce_retracing=True option that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/guide/function#controlling_retracing and https://www.tensorflow.org/api_docs/python/tf/function for more details.
1/2 ━━━━━━━━━━━━━━━━━━━━ 0s 586ms/step
WARNING:tensorflow:6 out of the last 10 calls to <function TensorFlowTrainer.make_predict_function.<locals>.one_step_on_data_distributed at 0x7b41e1c942c0> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has reduce_retracing=True option that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/guide/function#controlling_retracing and https://www.tensorflow.org/api_docs/python/tf/function for more details.
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 366ms/step precision recall f1-score support chocolate_cake 0.80 0.80 0.80 5 french_fries 0.40 0.50 0.44 8 ice_cream 0.43 0.50 0.46 6 nachos 0.00 0.00 0.00 5 onion_ring 0.25 0.20 0.22 5 pizza 0.55 1.00 0.71 6 samosa 0.40 0.29 0.33 7 strawberry_shortcake 1.00 0.60 0.75 5 tacos 0.40 0.40 0.40 5 waffle 0.00 0.00 0.00 4 accuracy 0.45 56 macro avg 0.42 0.43 0.41 56 weighted avg 0.43 0.45 0.42 56
plot_confusion_matrix(cnn_model_2,test_gen,list(test_gen.class_indices.keys()))
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 61ms/step
Observation¶
- Test accuracy is at 45%
- Overall Accuracy: 43% — lesser from previous model which is at 50% .
- Well-Classified Classes:
chocolate_cake,pizza,ice_cream: Good precision and recall.
- Moderate Performance:
french_fries,tacos,onion_ring: Acceptable but need improvement.
- Poorly Classified Classes:
samosa,nachos,waffle,strawberry_shortcake: Low recall or F1-score; waffle has 0% recall.
With he_normal and SGD¶
checkpointer, earlystopping, reduceLR=get_callbacks(filepath='cnn_model_sgd.weights.h5')
K.clear_session()
cnn_model_sgd=build_basic_cnn_2((128, 128, 3), 10,SGD(learning_rate=0.001))
/usr/local/lib/python3.11/dist-packages/keras/src/layers/convolutional/base_conv.py:107: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead. super().__init__(activity_regularizer=activity_regularizer, **kwargs)
cnn_model_sgd.compile(
optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy']
)
history = cnn_model_sgd.fit(
train_gen,
epochs=50,
validation_data=valid_gen,
callbacks=[checkpointer, reduceLR, earlystopping]
)
Epoch 1/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 281ms/step - accuracy: 0.1100 - loss: 2.9104 Epoch 1: val_loss improved from inf to 2.28927, saving model to cnn_model_sgd.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 11s 425ms/step - accuracy: 0.1116 - loss: 2.8890 - val_accuracy: 0.1071 - val_loss: 2.2893 - learning_rate: 0.0010 Epoch 2/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 177ms/step - accuracy: 0.1326 - loss: 2.3050 Epoch 2: val_loss improved from 2.28927 to 2.27802, saving model to cnn_model_sgd.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 199ms/step - accuracy: 0.1324 - loss: 2.3047 - val_accuracy: 0.1429 - val_loss: 2.2780 - learning_rate: 0.0010 Epoch 3/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 181ms/step - accuracy: 0.1410 - loss: 2.2769 Epoch 3: val_loss improved from 2.27802 to 2.25607, saving model to cnn_model_sgd.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 204ms/step - accuracy: 0.1400 - loss: 2.2771 - val_accuracy: 0.2143 - val_loss: 2.2561 - learning_rate: 0.0010 Epoch 4/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 184ms/step - accuracy: 0.2038 - loss: 2.2205 Epoch 4: val_loss improved from 2.25607 to 2.23521, saving model to cnn_model_sgd.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 209ms/step - accuracy: 0.2029 - loss: 2.2209 - val_accuracy: 0.2143 - val_loss: 2.2352 - learning_rate: 0.0010 Epoch 5/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 303ms/step - accuracy: 0.1892 - loss: 2.1896 Epoch 5: val_loss improved from 2.23521 to 2.22589, saving model to cnn_model_sgd.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 5s 345ms/step - accuracy: 0.1885 - loss: 2.1909 - val_accuracy: 0.2321 - val_loss: 2.2259 - learning_rate: 0.0010 Epoch 6/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 204ms/step - accuracy: 0.1889 - loss: 2.1512 Epoch 6: val_loss improved from 2.22589 to 2.16563, saving model to cnn_model_sgd.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 227ms/step - accuracy: 0.1898 - loss: 2.1511 - val_accuracy: 0.3036 - val_loss: 2.1656 - learning_rate: 0.0010 Epoch 7/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 183ms/step - accuracy: 0.2242 - loss: 2.1898 Epoch 7: val_loss did not improve from 2.16563 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 208ms/step - accuracy: 0.2231 - loss: 2.1909 - val_accuracy: 0.1607 - val_loss: 2.2050 - learning_rate: 0.0010 Epoch 8/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 184ms/step - accuracy: 0.2006 - loss: 2.1750 Epoch 8: val_loss improved from 2.16563 to 2.14811, saving model to cnn_model_sgd.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 207ms/step - accuracy: 0.2020 - loss: 2.1719 - val_accuracy: 0.2500 - val_loss: 2.1481 - learning_rate: 0.0010 Epoch 9/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 206ms/step - accuracy: 0.2559 - loss: 2.1249 Epoch 9: val_loss improved from 2.14811 to 2.12755, saving model to cnn_model_sgd.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 247ms/step - accuracy: 0.2546 - loss: 2.1248 - val_accuracy: 0.2321 - val_loss: 2.1276 - learning_rate: 0.0010 Epoch 10/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 223ms/step - accuracy: 0.2645 - loss: 2.0155 Epoch 10: val_loss improved from 2.12755 to 2.04542, saving model to cnn_model_sgd.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 243ms/step - accuracy: 0.2639 - loss: 2.0182 - val_accuracy: 0.2857 - val_loss: 2.0454 - learning_rate: 0.0010 Epoch 11/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 176ms/step - accuracy: 0.2584 - loss: 2.0184 Epoch 11: val_loss did not improve from 2.04542 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 189ms/step - accuracy: 0.2580 - loss: 2.0176 - val_accuracy: 0.2321 - val_loss: 2.0517 - learning_rate: 0.0010 Epoch 12/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 178ms/step - accuracy: 0.2994 - loss: 1.9987 Epoch 12: val_loss did not improve from 2.04542 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 191ms/step - accuracy: 0.2998 - loss: 1.9971 - val_accuracy: 0.2321 - val_loss: 2.1428 - learning_rate: 0.0010 Epoch 13/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 181ms/step - accuracy: 0.2821 - loss: 2.0251 Epoch 13: val_loss did not improve from 2.04542 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 194ms/step - accuracy: 0.2815 - loss: 2.0239 - val_accuracy: 0.1964 - val_loss: 2.0622 - learning_rate: 0.0010 Epoch 14/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 275ms/step - accuracy: 0.3319 - loss: 1.9566 Epoch 14: val_loss improved from 2.04542 to 1.98582, saving model to cnn_model_sgd.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 299ms/step - accuracy: 0.3306 - loss: 1.9562 - val_accuracy: 0.3036 - val_loss: 1.9858 - learning_rate: 0.0010 Epoch 15/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 181ms/step - accuracy: 0.3014 - loss: 1.9413 Epoch 15: val_loss improved from 1.98582 to 1.97371, saving model to cnn_model_sgd.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 217ms/step - accuracy: 0.3008 - loss: 1.9419 - val_accuracy: 0.3036 - val_loss: 1.9737 - learning_rate: 0.0010 Epoch 16/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 185ms/step - accuracy: 0.3357 - loss: 1.9420 Epoch 16: val_loss did not improve from 1.97371 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 197ms/step - accuracy: 0.3348 - loss: 1.9394 - val_accuracy: 0.3036 - val_loss: 1.9760 - learning_rate: 0.0010 Epoch 17/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 182ms/step - accuracy: 0.3450 - loss: 1.7980 Epoch 17: val_loss improved from 1.97371 to 1.88588, saving model to cnn_model_sgd.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 205ms/step - accuracy: 0.3449 - loss: 1.8012 - val_accuracy: 0.3929 - val_loss: 1.8859 - learning_rate: 0.0010 Epoch 18/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 257ms/step - accuracy: 0.3129 - loss: 1.8551 Epoch 18: val_loss did not improve from 1.88588 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 282ms/step - accuracy: 0.3146 - loss: 1.8574 - val_accuracy: 0.2321 - val_loss: 1.9886 - learning_rate: 0.0010 Epoch 19/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 183ms/step - accuracy: 0.4453 - loss: 1.7280 Epoch 19: val_loss did not improve from 1.88588 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 196ms/step - accuracy: 0.4420 - loss: 1.7295 - val_accuracy: 0.2679 - val_loss: 2.0515 - learning_rate: 0.0010 Epoch 20/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 179ms/step - accuracy: 0.3411 - loss: 1.8667 Epoch 20: val_loss improved from 1.88588 to 1.87394, saving model to cnn_model_sgd.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 202ms/step - accuracy: 0.3412 - loss: 1.8670 - val_accuracy: 0.3393 - val_loss: 1.8739 - learning_rate: 0.0010 Epoch 21/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 240ms/step - accuracy: 0.3288 - loss: 1.7780 Epoch 21: val_loss did not improve from 1.87394 14/14 ━━━━━━━━━━━━━━━━━━━━ 6s 257ms/step - accuracy: 0.3296 - loss: 1.7795 - val_accuracy: 0.2500 - val_loss: 2.1499 - learning_rate: 0.0010 Epoch 22/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 183ms/step - accuracy: 0.3726 - loss: 1.7188 Epoch 22: val_loss did not improve from 1.87394 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 197ms/step - accuracy: 0.3727 - loss: 1.7211 - val_accuracy: 0.3036 - val_loss: 2.3458 - learning_rate: 0.0010 Epoch 23/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 180ms/step - accuracy: 0.3565 - loss: 1.7969 Epoch 23: val_loss improved from 1.87394 to 1.87252, saving model to cnn_model_sgd.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 203ms/step - accuracy: 0.3563 - loss: 1.7967 - val_accuracy: 0.3929 - val_loss: 1.8725 - learning_rate: 0.0010 Epoch 24/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 187ms/step - accuracy: 0.3932 - loss: 1.7071 Epoch 24: val_loss did not improve from 1.87252 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 200ms/step - accuracy: 0.3939 - loss: 1.7046 - val_accuracy: 0.3214 - val_loss: 2.0628 - learning_rate: 0.0010 Epoch 25/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 271ms/step - accuracy: 0.4065 - loss: 1.6843 Epoch 25: val_loss did not improve from 1.87252 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 290ms/step - accuracy: 0.4044 - loss: 1.6871 - val_accuracy: 0.3750 - val_loss: 1.9016 - learning_rate: 0.0010 Epoch 26/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 179ms/step - accuracy: 0.3919 - loss: 1.7254 Epoch 26: val_loss did not improve from 1.87252 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 193ms/step - accuracy: 0.3919 - loss: 1.7255 - val_accuracy: 0.2321 - val_loss: 2.0038 - learning_rate: 0.0010 Epoch 27/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 181ms/step - accuracy: 0.4522 - loss: 1.6339 Epoch 27: val_loss did not improve from 1.87252 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 194ms/step - accuracy: 0.4500 - loss: 1.6347 - val_accuracy: 0.3214 - val_loss: 1.9812 - learning_rate: 0.0010 Epoch 28/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 180ms/step - accuracy: 0.3705 - loss: 1.6781 Epoch 28: val_loss did not improve from 1.87252 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 193ms/step - accuracy: 0.3720 - loss: 1.6766 - val_accuracy: 0.2857 - val_loss: 2.1018 - learning_rate: 0.0010 Epoch 29/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 212ms/step - accuracy: 0.4646 - loss: 1.5609 Epoch 29: val_loss did not improve from 1.87252 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 233ms/step - accuracy: 0.4653 - loss: 1.5616 - val_accuracy: 0.3036 - val_loss: 2.1454 - learning_rate: 0.0010 Epoch 30/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 226ms/step - accuracy: 0.4553 - loss: 1.5652 Epoch 30: val_loss did not improve from 1.87252 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 239ms/step - accuracy: 0.4531 - loss: 1.5665 - val_accuracy: 0.3929 - val_loss: 2.0364 - learning_rate: 0.0010 Epoch 31/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 180ms/step - accuracy: 0.3819 - loss: 1.6918 Epoch 31: val_loss did not improve from 1.87252 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 194ms/step - accuracy: 0.3829 - loss: 1.6930 - val_accuracy: 0.2679 - val_loss: 1.9998 - learning_rate: 0.0010 Epoch 32/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 193ms/step - accuracy: 0.4224 - loss: 1.6644 Epoch 32: val_loss did not improve from 1.87252 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 205ms/step - accuracy: 0.4214 - loss: 1.6657 - val_accuracy: 0.3571 - val_loss: 1.8833 - learning_rate: 0.0010 Epoch 33/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 178ms/step - accuracy: 0.4551 - loss: 1.5783 Epoch 33: val_loss did not improve from 1.87252 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 194ms/step - accuracy: 0.4549 - loss: 1.5794 - val_accuracy: 0.3750 - val_loss: 1.9177 - learning_rate: 0.0010 Epoch 34/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 266ms/step - accuracy: 0.5345 - loss: 1.4077 Epoch 34: val_loss did not improve from 1.87252 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 280ms/step - accuracy: 0.5311 - loss: 1.4153 - val_accuracy: 0.3393 - val_loss: 1.9116 - learning_rate: 5.0000e-04 Epoch 35/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 183ms/step - accuracy: 0.4230 - loss: 1.5021 Epoch 35: val_loss did not improve from 1.87252 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 197ms/step - accuracy: 0.4247 - loss: 1.5024 - val_accuracy: 0.3393 - val_loss: 2.0294 - learning_rate: 5.0000e-04 Epoch 36/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 177ms/step - accuracy: 0.5043 - loss: 1.4778 Epoch 36: val_loss did not improve from 1.87252 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 190ms/step - accuracy: 0.5029 - loss: 1.4772 - val_accuracy: 0.3214 - val_loss: 2.0046 - learning_rate: 5.0000e-04 Epoch 37/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 186ms/step - accuracy: 0.4781 - loss: 1.4969 Epoch 37: val_loss improved from 1.87252 to 1.84682, saving model to cnn_model_sgd.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 209ms/step - accuracy: 0.4785 - loss: 1.4962 - val_accuracy: 0.3929 - val_loss: 1.8468 - learning_rate: 5.0000e-04 Epoch 38/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 257ms/step - accuracy: 0.5263 - loss: 1.3728 Epoch 38: val_loss did not improve from 1.84682 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 282ms/step - accuracy: 0.5235 - loss: 1.3782 - val_accuracy: 0.4286 - val_loss: 1.9290 - learning_rate: 5.0000e-04 Epoch 39/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 217ms/step - accuracy: 0.5332 - loss: 1.3605 Epoch 39: val_loss did not improve from 1.84682 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 230ms/step - accuracy: 0.5314 - loss: 1.3675 - val_accuracy: 0.2857 - val_loss: 2.0903 - learning_rate: 5.0000e-04 Epoch 40/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 185ms/step - accuracy: 0.5014 - loss: 1.4910 Epoch 40: val_loss did not improve from 1.84682 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 199ms/step - accuracy: 0.5007 - loss: 1.4898 - val_accuracy: 0.2857 - val_loss: 2.1363 - learning_rate: 5.0000e-04 Epoch 41/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 182ms/step - accuracy: 0.5019 - loss: 1.3833 Epoch 41: val_loss did not improve from 1.84682 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 196ms/step - accuracy: 0.5014 - loss: 1.3843 - val_accuracy: 0.4107 - val_loss: 1.9062 - learning_rate: 5.0000e-04 Epoch 42/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 285ms/step - accuracy: 0.5022 - loss: 1.3820 Epoch 42: val_loss did not improve from 1.84682 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 299ms/step - accuracy: 0.5032 - loss: 1.3827 - val_accuracy: 0.3929 - val_loss: 1.9240 - learning_rate: 5.0000e-04 Epoch 43/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 184ms/step - accuracy: 0.4825 - loss: 1.3955 Epoch 43: val_loss did not improve from 1.84682 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 197ms/step - accuracy: 0.4837 - loss: 1.3966 - val_accuracy: 0.4107 - val_loss: 2.0472 - learning_rate: 5.0000e-04 Epoch 44/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 184ms/step - accuracy: 0.5388 - loss: 1.3734 Epoch 44: val_loss did not improve from 1.84682 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 196ms/step - accuracy: 0.5372 - loss: 1.3731 - val_accuracy: 0.3929 - val_loss: 1.9251 - learning_rate: 5.0000e-04 Epoch 45/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 183ms/step - accuracy: 0.5809 - loss: 1.2577 Epoch 45: val_loss did not improve from 1.84682 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 197ms/step - accuracy: 0.5776 - loss: 1.2643 - val_accuracy: 0.4464 - val_loss: 2.0313 - learning_rate: 5.0000e-04 Epoch 46/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 241ms/step - accuracy: 0.4971 - loss: 1.3705 Epoch 46: val_loss did not improve from 1.84682 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 267ms/step - accuracy: 0.4975 - loss: 1.3701 - val_accuracy: 0.3393 - val_loss: 2.0426 - learning_rate: 5.0000e-04 Epoch 47/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 182ms/step - accuracy: 0.5388 - loss: 1.3390 Epoch 47: val_loss did not improve from 1.84682 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 196ms/step - accuracy: 0.5392 - loss: 1.3381 - val_accuracy: 0.4286 - val_loss: 1.9620 - learning_rate: 5.0000e-04 Epoch 48/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 184ms/step - accuracy: 0.5252 - loss: 1.3582 Epoch 48: val_loss improved from 1.84682 to 1.80703, saving model to cnn_model_sgd.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 207ms/step - accuracy: 0.5261 - loss: 1.3550 - val_accuracy: 0.4464 - val_loss: 1.8070 - learning_rate: 2.5000e-04 Epoch 49/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 186ms/step - accuracy: 0.5866 - loss: 1.1867 Epoch 49: val_loss did not improve from 1.80703 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 199ms/step - accuracy: 0.5835 - loss: 1.1934 - val_accuracy: 0.3929 - val_loss: 2.0484 - learning_rate: 2.5000e-04 Epoch 50/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 267ms/step - accuracy: 0.5657 - loss: 1.2242 Epoch 50: val_loss did not improve from 1.80703 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 293ms/step - accuracy: 0.5634 - loss: 1.2289 - val_accuracy: 0.3750 - val_loss: 1.9490 - learning_rate: 2.5000e-04
plot_model_accuracy(history,cnn_model_sgd)
cnn_model_sgd.evaluate(test_gen)
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 67ms/step - accuracy: 0.5000 - loss: 1.6595
[1.6906964778900146, 0.5]
Observations:¶
Not much Improvemnet with previous models .SGD did not make the curve smooth.Though test score is same as first model but the training and validation score are lesser then first model .
# SHow classfication report
generate_classification_report(cnn_model_sgd, test_gen)
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 268ms/step precision recall f1-score support chocolate_cake 0.83 1.00 0.91 5 french_fries 0.50 0.75 0.60 8 ice_cream 0.60 0.50 0.55 6 nachos 0.00 0.00 0.00 5 onion_ring 0.50 0.40 0.44 5 pizza 0.50 1.00 0.67 6 samosa 0.25 0.14 0.18 7 strawberry_shortcake 1.00 0.60 0.75 5 tacos 0.40 0.40 0.40 5 waffle 0.00 0.00 0.00 4 accuracy 0.50 56 macro avg 0.46 0.48 0.45 56 weighted avg 0.46 0.50 0.46 56
# Show confusion matrix
plot_confusion_matrix(cnn_model_sgd,test_gen,list(test_gen.class_indices.keys()))
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 71ms/step
Observations:¶
- Test Accuracy: 50%
- Overall Accuracy: 46% less then 1st model (without he_normal)
- High Performing Classes:
chocolate_cake,pizza,ice_creamshow good precision and recall. - Poorly Learned Classes:
samosa,onion_ring,strawberry_shortcake— either completely misclassified or low recall.
Model performances is almost similar to 1st cnn model without he_normal and sgd(used Adam)
Performances(Trained with Balnaced train,test,validation set):¶
Class-wise Observations¶
| Class | Best Model (based on F1) | Comments |
|---|---|---|
chocolate_cake |
Model 3(SGD+he_normal) (0.91) | Excellent in all models. |
french_fries |
Model 3(SGD+he_normal)) (0.60) | Improved with SGD + He Normal. |
ice_cream |
Model 1(Adam) (0.62) | Slight drop in Model 3. |
nachos |
Model 1(Adam) (0.25) | Still poor in all. |
onion_ring |
Model 3(SGD+he_normal) (0.44) | He Normal helped. |
pizza |
Tie (1.00 recall in all) | Always predicted correctly. |
samosa |
Model 2(Adam+henormal) (0.33) | Still weak prediction. |
strawberry_shortcake |
Model 1 (0.57) / Model 2 & 3 (0.75) | Higher precision and recall with He Normal. |
tacos |
Tie (~0.40 F1 across) | Consistent poor performance. |
waffle |
Model 1(Adam) (0.29) | Missed completely in Model 2 & 3. |
Visualizing the prediction (Model-1 Default Initializer and Adam):¶
# Visualise some predictions
visualize_predictions(model_2,test_gen,list(test_gen.class_indices.keys()))
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 282ms/step
Observations:¶
Strongest classes: chocolate_cake, pizza, ice_cream,French Fries
Performs better on visually distinct items.
Weaknesses:
Fails on subtle or similar-looking items: samosa, waffle, nachos, and strawberry_shortcake.
Somecases if there is some mayo like item in image it predict it as ice_cream might be due to similarity with icecream and mayo look.
Next Steps:
we can try adding more training data for weak classes.
Use of data augmentation or fine-tuning with class weighting to improve class balance.
Use transfer leeraning from model like Efficientnet,mobilenet
Milestone-2¶
All Extra Imports for milestone 2¶
from tensorflow.keras.applications import EfficientNetB1
from tensorflow.keras.applications import MobileNetV3Large
from tensorflow.keras.models import Model
from tensorflow.keras import layers
from tensorflow.keras.applications.efficientnet import preprocess_input
from tensorflow.keras.applications.mobilenet_v3 import preprocess_input
import tensorflow as tf
from tqdm import tqdm
from PIL import Image
from tensorflow.keras.preprocessing.image import img_to_array
from sklearn.svm import LinearSVC
from sklearn.linear_model import Ridge
from sklearn.preprocessing import LabelEncoder
Helper Function¶
def get_image_generators(train_df, valid_df, test_df, base_path,
target_size=(224, 224),
preprocessing_function=None,
rescale=None,
batch_size=32,
rotation_range=15,
width_shift_range=0.1,
height_shift_range=0.1,
shear_range=0.1,
zoom_range=0.2,
brightness_range=[0.8, 1.2],
horizontal_flip=True,
vertical_flip=True,
fill_mode='nearest',
preprocessing_fn=None):
"""
Create and return image generators for training, validation, and testing.
Args:
train_df: DataFrame containing training image filenames and labels.
valid_df: DataFrame containing validation image filenames and labels.
test_df: DataFrame containing test image filenames and labels.
base_path: Directory where all images are stored.
target_size: Tuple specifying the size to which all images are resized.
preprocessing_function: (Deprecated, use preprocessing_fn) preprocessing function like those from EfficientNet.
rescale: Rescaling factor (e.g., 1./255) to normalize pixel values.
batch_size: Number of images per batch.
rotation_range: Degree range for random rotations.
width_shift_range: Fraction of total width to shift.
height_shift_range: Fraction of total height to shift.
shear_range: Shear intensity (shear angle in counter-clockwise direction in degrees).
zoom_range: Range for random zoom.
brightness_range: Range for picking a brightness shift value from [min, max].
horizontal_flip: Randomly flip inputs horizontally.
vertical_flip: Randomly flip inputs vertically.
fill_mode: Strategy for filling in newly created pixels after transformations.
preprocessing_fn: Preprocessing function to apply to each input image.
Returns:
A tuple containing:
- train_gen: Generator for training images with data augmentation.
- valid_gen: Generator for validation images (no augmentation).
- test_gen: Generator for test images (no augmentation).
"""
# Create the ImageDataGenerator for training with augmentation and optional preprocessing
train_datagen = ImageDataGenerator(
preprocessing_function=preprocessing_fn, # Apply model-specific preprocessing
rescale=rescale, # Normalize pixel values
rotation_range=rotation_range, # Random rotation
width_shift_range=width_shift_range, # Random horizontal shift
height_shift_range=height_shift_range, # Random vertical shift
shear_range=shear_range, # Shear transformation
zoom_range=zoom_range, # Zoom in/out
brightness_range=brightness_range, # Random brightness adjustment
horizontal_flip=horizontal_flip, # Flip image horizontally
vertical_flip=vertical_flip, # Flip image vertically
fill_mode=fill_mode # Fill missing pixels using the given strategy
)
# Create ImageDataGenerator for validation and testing (no augmentation)
test_valid_datagen = ImageDataGenerator(
rescale=rescale
)
# Create training data generator from DataFrame
train_gen = train_datagen.flow_from_dataframe(
train_df, # DataFrame with image names and labels
directory=base_path, # Directory path for images
x_col='image_name', # Column with image filenames
y_col='class_name', # Column with class labels
target_size=target_size, # Resize images to target size
class_mode='categorical', # One-hot encoded class labels
batch_size=batch_size, # Number of samples per batch
shuffle=True # Shuffle training data
)
# Create validation data generator (no shuffling)
valid_gen = test_valid_datagen.flow_from_dataframe(
valid_df,
directory=base_path,
x_col='image_name',
y_col='class_name',
target_size=target_size,
class_mode='categorical',
batch_size=batch_size,
shuffle=False
)
# Create test data generator (no shuffling)
test_gen = test_valid_datagen.flow_from_dataframe(
test_df,
directory=base_path,
x_col='image_name',
y_col='class_name',
target_size=target_size,
class_mode='categorical',
batch_size=batch_size,
shuffle=False
)
# Return the three generators
return train_gen, valid_gen, test_gen
Transfer Learning CNN Model with a Pretrained Base
def create_cnn_model_with_basemodel(base_model):
"""
Creates a CNN model using a given pretrained base model with a custom classification head.
Args:
base_model: A pretrained model instance from tf.keras.applications (e.g., EfficientNetB0, MobileNetV2).
Returns:
model_transfer: A compiled Keras Model ready for training.
"""
# Freeze the base model layers to prevent updating weights during training
# This is useful for transfer learning when dataset is small
base_model.trainable = False
# Define the input layer with expected input shape (e.g., 224x224 RGB images)
inputs = layers.Input(shape=(224, 224, 3), name="input_layer")
# Pass the input through the base model
x = base_model(inputs)
# Add a global average pooling layer to reduce the spatial dimensions
x = layers.GlobalAveragePooling2D(name="pooling_layer")(x)
# Add dropout to reduce overfitting
x = layers.Dropout(0.3)(x)
# Dense layer with 10 units (assuming 10 classes for classification)
x = layers.Dense(10)(x)
# Final softmax activation to get class probabilities
outputs = layers.Activation("softmax")(x)
# Construct the final model
model_transfer = Model(inputs, outputs)
# Compile the model with Adam optimizer, categorical crossentropy loss, and accuracy metric
model_transfer.compile(
optimizer=Adam(learning_rate=0.001),
loss='categorical_crossentropy',
metrics=['accuracy']
)
return model_transfer
Optimization Of Previously Built CNN (Data Augmentation)¶
Created augmented image generators for training, validation, and testing with enhanced data augmentation settings.
train_generator_aug, valid_generator_aug, test_generator_aug=get_image_generators(train_df,
valid_df,
test_df,
base_path,
rescale=1./255,
rotation_range=30, # Increased rotation
width_shift_range=0.2,
height_shift_range=0.2,
shear_range=0.2,
zoom_range=0.3, # More zoom
brightness_range=[0.8, 1.2], # Random brightness
horizontal_flip=True,
vertical_flip=True,
fill_mode='nearest')
Found 446 validated image filenames belonging to 10 classes. Found 56 validated image filenames belonging to 10 classes. Found 56 validated image filenames belonging to 10 classes.
/usr/local/lib/python3.11/dist-packages/keras/src/legacy/preprocessing/image.py:920: UserWarning: Found 1 invalid image filename(s) in x_col="image_name". These filename(s) will be ignored. warnings.warn(
# use previously defined model with augmented image on image genarator
cnn_opt=build_basic_cnn((128, 128, 3), 10)
/usr/local/lib/python3.11/dist-packages/keras/src/layers/convolutional/base_conv.py:107: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead. super().__init__(activity_regularizer=activity_regularizer, **kwargs)
cnn_opt.fit(train_generator_aug, epochs=50, validation_data=valid_generator_aug)
Epoch 1/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 5s 372ms/step - accuracy: 0.2415 - loss: 2.0514 - val_accuracy: 0.2857 - val_loss: 2.0827 Epoch 2/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 311ms/step - accuracy: 0.2508 - loss: 2.0415 - val_accuracy: 0.2679 - val_loss: 2.0470 Epoch 3/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 220ms/step - accuracy: 0.2875 - loss: 1.9549 - val_accuracy: 0.3393 - val_loss: 2.0942 Epoch 4/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 222ms/step - accuracy: 0.2839 - loss: 1.9625 - val_accuracy: 0.2679 - val_loss: 2.1167 Epoch 5/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 220ms/step - accuracy: 0.2668 - loss: 1.9914 - val_accuracy: 0.3214 - val_loss: 2.0588 Epoch 6/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 313ms/step - accuracy: 0.2950 - loss: 1.9507 - val_accuracy: 0.3036 - val_loss: 2.0699 Epoch 7/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 219ms/step - accuracy: 0.3135 - loss: 1.9089 - val_accuracy: 0.3036 - val_loss: 2.1616 Epoch 8/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 219ms/step - accuracy: 0.2937 - loss: 1.9841 - val_accuracy: 0.3214 - val_loss: 2.0395 Epoch 9/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 226ms/step - accuracy: 0.3324 - loss: 1.8806 - val_accuracy: 0.3571 - val_loss: 2.1377 Epoch 10/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 5s 223ms/step - accuracy: 0.3281 - loss: 1.8535 - val_accuracy: 0.3214 - val_loss: 2.0543 Epoch 11/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 220ms/step - accuracy: 0.3474 - loss: 1.8389 - val_accuracy: 0.4286 - val_loss: 1.9236 Epoch 12/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 219ms/step - accuracy: 0.2805 - loss: 1.9362 - val_accuracy: 0.3036 - val_loss: 1.9695 Epoch 13/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 320ms/step - accuracy: 0.3197 - loss: 1.8664 - val_accuracy: 0.3750 - val_loss: 2.0690 Epoch 14/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 251ms/step - accuracy: 0.3414 - loss: 1.8808 - val_accuracy: 0.2679 - val_loss: 2.2091 Epoch 15/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 224ms/step - accuracy: 0.3905 - loss: 1.7760 - val_accuracy: 0.3929 - val_loss: 1.9454 Epoch 16/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 230ms/step - accuracy: 0.3610 - loss: 1.7952 - val_accuracy: 0.3571 - val_loss: 1.9760 Epoch 17/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 303ms/step - accuracy: 0.3248 - loss: 1.7881 - val_accuracy: 0.3036 - val_loss: 2.0290 Epoch 18/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 311ms/step - accuracy: 0.3711 - loss: 1.8000 - val_accuracy: 0.4821 - val_loss: 1.9957 Epoch 19/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 218ms/step - accuracy: 0.3470 - loss: 1.8359 - val_accuracy: 0.3750 - val_loss: 2.0312 Epoch 20/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 315ms/step - accuracy: 0.3736 - loss: 1.7968 - val_accuracy: 0.3571 - val_loss: 1.9106 Epoch 21/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 217ms/step - accuracy: 0.3371 - loss: 1.8514 - val_accuracy: 0.3393 - val_loss: 2.0214 Epoch 22/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 223ms/step - accuracy: 0.3787 - loss: 1.7648 - val_accuracy: 0.4107 - val_loss: 2.0485 Epoch 23/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 6s 287ms/step - accuracy: 0.3780 - loss: 1.7205 - val_accuracy: 0.3929 - val_loss: 1.9259 Epoch 24/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 234ms/step - accuracy: 0.3875 - loss: 1.7316 - val_accuracy: 0.3571 - val_loss: 2.0011 Epoch 25/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 217ms/step - accuracy: 0.4081 - loss: 1.7523 - val_accuracy: 0.4107 - val_loss: 1.8786 Epoch 26/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 215ms/step - accuracy: 0.3830 - loss: 1.7507 - val_accuracy: 0.4643 - val_loss: 1.7618 Epoch 27/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 296ms/step - accuracy: 0.3622 - loss: 1.7894 - val_accuracy: 0.3214 - val_loss: 2.0010 Epoch 28/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 215ms/step - accuracy: 0.4034 - loss: 1.6973 - val_accuracy: 0.3750 - val_loss: 1.9833 Epoch 29/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 270ms/step - accuracy: 0.4241 - loss: 1.6636 - val_accuracy: 0.3393 - val_loss: 2.0436 Epoch 30/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 239ms/step - accuracy: 0.3983 - loss: 1.7120 - val_accuracy: 0.3750 - val_loss: 1.9622 Epoch 31/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 286ms/step - accuracy: 0.4030 - loss: 1.6669 - val_accuracy: 0.3750 - val_loss: 1.8917 Epoch 32/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 213ms/step - accuracy: 0.4233 - loss: 1.6361 - val_accuracy: 0.3750 - val_loss: 2.1482 Epoch 33/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 216ms/step - accuracy: 0.4180 - loss: 1.6470 - val_accuracy: 0.3750 - val_loss: 2.1063 Epoch 34/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 237ms/step - accuracy: 0.3716 - loss: 1.7552 - val_accuracy: 0.3750 - val_loss: 1.9108 Epoch 35/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 285ms/step - accuracy: 0.3960 - loss: 1.6343 - val_accuracy: 0.4821 - val_loss: 1.7849 Epoch 36/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 215ms/step - accuracy: 0.4099 - loss: 1.7081 - val_accuracy: 0.3214 - val_loss: 1.9108 Epoch 37/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 216ms/step - accuracy: 0.4294 - loss: 1.6256 - val_accuracy: 0.4286 - val_loss: 1.8883 Epoch 38/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 297ms/step - accuracy: 0.4320 - loss: 1.6718 - val_accuracy: 0.4464 - val_loss: 1.7869 Epoch 39/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 233ms/step - accuracy: 0.4821 - loss: 1.5415 - val_accuracy: 0.3929 - val_loss: 2.0051 Epoch 40/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 222ms/step - accuracy: 0.4442 - loss: 1.6251 - val_accuracy: 0.3214 - val_loss: 2.2209 Epoch 41/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 220ms/step - accuracy: 0.4483 - loss: 1.6115 - val_accuracy: 0.3929 - val_loss: 2.1858 Epoch 42/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 305ms/step - accuracy: 0.4318 - loss: 1.5852 - val_accuracy: 0.4821 - val_loss: 1.7201 Epoch 43/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 276ms/step - accuracy: 0.4252 - loss: 1.6631 - val_accuracy: 0.5179 - val_loss: 1.8009 Epoch 44/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 227ms/step - accuracy: 0.4705 - loss: 1.4694 - val_accuracy: 0.4107 - val_loss: 1.8156 Epoch 45/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 214ms/step - accuracy: 0.4705 - loss: 1.4929 - val_accuracy: 0.4464 - val_loss: 1.8472 Epoch 46/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 310ms/step - accuracy: 0.4633 - loss: 1.5743 - val_accuracy: 0.5357 - val_loss: 1.6693 Epoch 47/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 216ms/step - accuracy: 0.4847 - loss: 1.4585 - val_accuracy: 0.4643 - val_loss: 2.1401 Epoch 48/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 218ms/step - accuracy: 0.4827 - loss: 1.5363 - val_accuracy: 0.5000 - val_loss: 1.7886 Epoch 49/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 3s 218ms/step - accuracy: 0.3960 - loss: 1.6759 - val_accuracy: 0.3750 - val_loss: 2.0287 Epoch 50/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 4s 306ms/step - accuracy: 0.4710 - loss: 1.5196 - val_accuracy: 0.4107 - val_loss: 2.0379
<keras.src.callbacks.history.History at 0x7a8039d77c50>
Observations on above:
- Trained a CNN model with transfer learning over 50 epochs using augmented image generators.
- Training accuracy improved from 24% to ~47%.
- Validation accuracy increased from 28% to a peak of ~53%.
- Training loss decreased steadily from 2.05 to 1.51, indicating model learning.
- Validation loss fluctuated across epochs, showing signs of overfitting.
- Model shows moderate generalization and could benefit from:
- Unfreezing some layers of the base model for fine-tuning.
- Using techniques like early stopping, learning rate scheduling, or regularization.
Observation:¶
We donot see much improvement wirth training and validation
cnn_opt.evaluate(test_generator_aug)
/usr/local/lib/python3.11/dist-packages/keras/src/trainers/data_adapters/py_dataset_adapter.py:121: UserWarning: Your `PyDataset` class should call `super().__init__(**kwargs)` in its constructor. `**kwargs` can include `workers`, `use_multiprocessing`, `max_queue_size`. Do not pass these arguments to `fit()`, as they will be ignored. self._warn_if_super_not_called()
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 180ms/step - accuracy: 0.4554 - loss: 1.5011
[1.5250766277313232, 0.4642857015132904]
Observation: Model Evaluation Summary
- Test Loss: 1.525
- Test Accuracy: 46.43%
Summary: The CNN model shows moderate performance on the augmented test dataset. Accuracy is below 50%, indicating possible underfitting or a need for further tuning. We can consider using more epochs, advanced architectures (like VGG16), or better data balancing to improve results.
No improvemnet with more augomenation like shear and zoom and brighteness change and more rotation .its almost similar to previous performance .
Transfer Learning¶
Helper¶
import numpy as np
import matplotlib.pyplot as plt
from tensorflow.keras.applications import efficientnet, mobilenet_v3
def visualize_predictions_tl(model, test_generator, class_names=None, num_images=12, model_type='efficientnet'):
"""
Visualize predictions from a Keras model using EfficientNet or MobileNet-style preprocessing.
Parameters:
- model: Trained Keras model.
- test_generator: Keras ImageDataGenerator (with shuffle=False, NO preprocessing).
- class_names: Optional list of class names.
- num_images: Number of images to display.
- model_type: 'efficientnet' or 'mobilenet'.
"""
# Step 1: Get images and true labels from test generator
images, labels = next(iter(test_generator))
# Step 2: Select appropriate preprocessing
if model_type == 'efficientnet':
preprocess_fn = efficientnet.preprocess_input
elif model_type == 'mobilenet':
preprocess_fn = mobilenet_v3.preprocess_input
else:
raise ValueError("Unsupported model_type. Use 'efficientnet' or 'mobilenet'.")
# Step 3: Preprocess before prediction
preprocessed_images = preprocess_fn(images.copy())
predictions = model.predict(preprocessed_images)
pred_labels = np.argmax(predictions, axis=1)
true_labels = np.argmax(labels, axis=1)
# Step 4: Get class names
if class_names is None:
class_names = list(test_generator.class_indices.keys())
# Step 5: Convert images back to displayable format
if model_type == 'mobilenet':
# MobileNet scales [-1, 1] → Undo = (x + 1) * 127.5
images_disp = ((images + 1.0) * 127.5).astype(np.uint8) if images.min() < 0 else (images * 255).astype(np.uint8)
else:
# EfficientNet: images assumed in [0, 1], scale to 0-255
images_disp = (images * 255).astype(np.uint8) if images.max() <= 1.0 else images.astype(np.uint8)
# Step 6: Plot predictions
plt.figure(figsize=(15, 10))
for i in range(min(num_images, len(images_disp))):
plt.subplot(3, 4, i + 1)
plt.imshow(images_disp[i])
plt.axis('off')
plt.title(
f"True: {class_names[true_labels[i]]}\nPred: {class_names[pred_labels[i]]}",
color='green' if pred_labels[i] == true_labels[i] else 'red'
)
plt.tight_layout()
plt.show()
Use Efficient Net¶
Train, validation, and test generators were created using a helper function with EfficientNet's preprocessing and data augmentation applied.
# Train test and validation generator using helper function with preprocessing passed from efficientnet
train_generator_tl, valid_generator_tl, test_generator_tl=get_image_generators(train_df,
valid_df,
test_df,
base_path,
preprocessing_function=tf.keras.applications.efficientnet.preprocess_input, # from efficentnet
rotation_range=15,
width_shift_range=0.1,
height_shift_range=0.1,
shear_range=0.1,
zoom_range=0.2, # More zoom
horizontal_flip=True,
vertical_flip=True,)
Found 446 validated image filenames belonging to 10 classes. Found 56 validated image filenames belonging to 10 classes. Found 56 validated image filenames belonging to 10 classes.
/usr/local/lib/python3.11/dist-packages/keras/src/legacy/preprocessing/image.py:920: UserWarning: Found 1 invalid image filename(s) in x_col="image_name". These filename(s) will be ignored. warnings.warn(
Using EfficinetNet as base¶
# Load EfficientNetB0 base model with pretrained ImageNet weights
K.clear_session()
bs_model = EfficientNetB1(include_top=False, weights='imagenet', input_shape=(224,224,3))
cnn_model_effcinetnet=create_cnn_model_with_basemodel(bs_model)
Downloading data from https://storage.googleapis.com/keras-applications/efficientnetb1_notop.h5 27018416/27018416 ━━━━━━━━━━━━━━━━━━━━ 0s 0us/step
# Show summary
cnn_model_effcinetnet.summary()
Model: "functional"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ input_layer (InputLayer) │ (None, 224, 224, 3) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ efficientnetb1 (Functional) │ (None, 7, 7, 1280) │ 6,575,239 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ pooling_layer │ (None, 1280) │ 0 │ │ (GlobalAveragePooling2D) │ │ │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout (Dropout) │ (None, 1280) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense (Dense) │ (None, 10) │ 12,810 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ activation (Activation) │ (None, 10) │ 0 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 6,588,049 (25.13 MB)
Trainable params: 12,810 (50.04 KB)
Non-trainable params: 6,575,239 (25.08 MB)
Observations:¶
We can see around 6.5 million params there out of which 12,810 are trainable
- The model is built on top of EfficientNetB1 as a fixed (non-trainable) feature extractor.
- Total parameters: 6,588,049 (~25.13 MB).
- Trainable parameters: 12,810 (~50.04 KB), only in the classification head.
- Non-trainable parameters (from EfficientNetB1): 6,575,239 (~25.08 MB).
- A GlobalAveragePooling2D layer reduces the feature map dimensions before classification.
- A Dropout layer is used to reduce overfitting.
- Final Dense layer outputs predictions for 10 classes.
- The model is optimized for transfer learning with low training overhead.
- Defined model callbacks using a helper function:
- ModelCheckpoint: Saves the best model to
model_tl_efnet.weights.h5. - EarlyStopping: Stops training when validation performance stops improving.
- ReduceLROnPlateau: Reduces learning rate when validation loss plateaus, helping the model converge better before early stopping is triggered.
- ModelCheckpoint: Saves the best model to
# Define checkpoint early stopping and reducelr (before stopping)
checkpointer, earlystopping, reduceLR=get_callbacks(filepath='model_tl_efnet.weights.h5')
# fit the model and show history
history_eff_net=cnn_model_effcinetnet.fit(train_generator_tl,
epochs=50,
validation_data=valid_generator_tl,
callbacks=[checkpointer, reduceLR, earlystopping]
)
/usr/local/lib/python3.11/dist-packages/keras/src/trainers/data_adapters/py_dataset_adapter.py:121: UserWarning: Your `PyDataset` class should call `super().__init__(**kwargs)` in its constructor. `**kwargs` can include `workers`, `use_multiprocessing`, `max_queue_size`. Do not pass these arguments to `fit()`, as they will be ignored. self._warn_if_super_not_called()
Epoch 1/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 2s/step - accuracy: 0.1682 - loss: 2.3264 Epoch 1: val_loss improved from inf to 1.65869, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 90s 4s/step - accuracy: 0.1741 - loss: 2.3139 - val_accuracy: 0.6607 - val_loss: 1.6587 - learning_rate: 0.0010 Epoch 2/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 647ms/step - accuracy: 0.4947 - loss: 1.6462 Epoch 2: val_loss improved from 1.65869 to 1.19982, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 10s 733ms/step - accuracy: 0.4984 - loss: 1.6383 - val_accuracy: 0.7143 - val_loss: 1.1998 - learning_rate: 0.0010 Epoch 3/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 641ms/step - accuracy: 0.6349 - loss: 1.2750 Epoch 3: val_loss improved from 1.19982 to 0.96371, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 10s 729ms/step - accuracy: 0.6372 - loss: 1.2679 - val_accuracy: 0.7679 - val_loss: 0.9637 - learning_rate: 0.0010 Epoch 4/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 518ms/step - accuracy: 0.7281 - loss: 0.9709 Epoch 4: val_loss improved from 0.96371 to 0.82117, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 8s 602ms/step - accuracy: 0.7289 - loss: 0.9694 - val_accuracy: 0.8036 - val_loss: 0.8212 - learning_rate: 0.0010 Epoch 5/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 643ms/step - accuracy: 0.7647 - loss: 0.8407 Epoch 5: val_loss improved from 0.82117 to 0.73608, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 10s 728ms/step - accuracy: 0.7650 - loss: 0.8403 - val_accuracy: 0.8036 - val_loss: 0.7361 - learning_rate: 0.0010 Epoch 6/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 608ms/step - accuracy: 0.7915 - loss: 0.8035 Epoch 6: val_loss improved from 0.73608 to 0.67350, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 10s 688ms/step - accuracy: 0.7935 - loss: 0.7972 - val_accuracy: 0.8214 - val_loss: 0.6735 - learning_rate: 0.0010 Epoch 7/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 517ms/step - accuracy: 0.8741 - loss: 0.6229 Epoch 7: val_loss improved from 0.67350 to 0.63524, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 613ms/step - accuracy: 0.8729 - loss: 0.6219 - val_accuracy: 0.8393 - val_loss: 0.6352 - learning_rate: 0.0010 Epoch 8/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 587ms/step - accuracy: 0.8819 - loss: 0.5628 Epoch 8: val_loss improved from 0.63524 to 0.60559, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 10s 672ms/step - accuracy: 0.8819 - loss: 0.5615 - val_accuracy: 0.8393 - val_loss: 0.6056 - learning_rate: 0.0010 Epoch 9/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 621ms/step - accuracy: 0.8795 - loss: 0.5306 Epoch 9: val_loss improved from 0.60559 to 0.58405, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 10s 703ms/step - accuracy: 0.8790 - loss: 0.5300 - val_accuracy: 0.8393 - val_loss: 0.5841 - learning_rate: 0.0010 Epoch 10/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 502ms/step - accuracy: 0.8781 - loss: 0.4973 Epoch 10: val_loss improved from 0.58405 to 0.56292, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 8s 597ms/step - accuracy: 0.8788 - loss: 0.4966 - val_accuracy: 0.8571 - val_loss: 0.5629 - learning_rate: 0.0010 Epoch 11/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 514ms/step - accuracy: 0.8864 - loss: 0.4680 Epoch 11: val_loss improved from 0.56292 to 0.54423, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 10s 598ms/step - accuracy: 0.8861 - loss: 0.4674 - val_accuracy: 0.8750 - val_loss: 0.5442 - learning_rate: 0.0010 Epoch 12/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 692ms/step - accuracy: 0.9198 - loss: 0.4193 Epoch 12: val_loss improved from 0.54423 to 0.53510, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 11s 774ms/step - accuracy: 0.9187 - loss: 0.4194 - val_accuracy: 0.8393 - val_loss: 0.5351 - learning_rate: 0.0010 Epoch 13/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 642ms/step - accuracy: 0.8913 - loss: 0.4278 Epoch 13: val_loss improved from 0.53510 to 0.52289, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 10s 726ms/step - accuracy: 0.8922 - loss: 0.4255 - val_accuracy: 0.8750 - val_loss: 0.5229 - learning_rate: 0.0010 Epoch 14/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 501ms/step - accuracy: 0.9203 - loss: 0.3629 Epoch 14: val_loss improved from 0.52289 to 0.52178, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 8s 585ms/step - accuracy: 0.9201 - loss: 0.3633 - val_accuracy: 0.8750 - val_loss: 0.5218 - learning_rate: 0.0010 Epoch 15/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 610ms/step - accuracy: 0.9013 - loss: 0.4133 Epoch 15: val_loss improved from 0.52178 to 0.51837, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 10s 693ms/step - accuracy: 0.9015 - loss: 0.4110 - val_accuracy: 0.8750 - val_loss: 0.5184 - learning_rate: 0.0010 Epoch 16/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 624ms/step - accuracy: 0.8949 - loss: 0.3705 Epoch 16: val_loss improved from 0.51837 to 0.51272, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 10s 705ms/step - accuracy: 0.8956 - loss: 0.3695 - val_accuracy: 0.8750 - val_loss: 0.5127 - learning_rate: 0.0010 Epoch 17/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 503ms/step - accuracy: 0.9271 - loss: 0.3301 Epoch 17: val_loss improved from 0.51272 to 0.50467, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 8s 596ms/step - accuracy: 0.9274 - loss: 0.3291 - val_accuracy: 0.8750 - val_loss: 0.5047 - learning_rate: 0.0010 Epoch 18/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 583ms/step - accuracy: 0.9140 - loss: 0.3459 Epoch 18: val_loss improved from 0.50467 to 0.50421, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 10s 669ms/step - accuracy: 0.9139 - loss: 0.3456 - val_accuracy: 0.8750 - val_loss: 0.5042 - learning_rate: 0.0010 Epoch 19/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 636ms/step - accuracy: 0.9089 - loss: 0.3171 Epoch 19: val_loss improved from 0.50421 to 0.49803, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 10s 723ms/step - accuracy: 0.9085 - loss: 0.3187 - val_accuracy: 0.8750 - val_loss: 0.4980 - learning_rate: 0.0010 Epoch 20/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 536ms/step - accuracy: 0.9383 - loss: 0.3057 Epoch 20: val_loss improved from 0.49803 to 0.48865, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 652ms/step - accuracy: 0.9384 - loss: 0.3058 - val_accuracy: 0.8750 - val_loss: 0.4886 - learning_rate: 0.0010 Epoch 21/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 549ms/step - accuracy: 0.9127 - loss: 0.3254 Epoch 21: val_loss did not improve from 0.48865 14/14 ━━━━━━━━━━━━━━━━━━━━ 8s 572ms/step - accuracy: 0.9133 - loss: 0.3242 - val_accuracy: 0.8750 - val_loss: 0.4904 - learning_rate: 0.0010 Epoch 22/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 644ms/step - accuracy: 0.9331 - loss: 0.2739 Epoch 22: val_loss improved from 0.48865 to 0.48727, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 12s 730ms/step - accuracy: 0.9328 - loss: 0.2741 - val_accuracy: 0.8929 - val_loss: 0.4873 - learning_rate: 0.0010 Epoch 23/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 708ms/step - accuracy: 0.9539 - loss: 0.2448 Epoch 23: val_loss improved from 0.48727 to 0.48532, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 11s 793ms/step - accuracy: 0.9540 - loss: 0.2449 - val_accuracy: 0.8750 - val_loss: 0.4853 - learning_rate: 0.0010 Epoch 24/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 529ms/step - accuracy: 0.9530 - loss: 0.2596 Epoch 24: val_loss improved from 0.48532 to 0.48246, saving model to model_tl_efnet.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 629ms/step - accuracy: 0.9530 - loss: 0.2595 - val_accuracy: 0.8750 - val_loss: 0.4825 - learning_rate: 0.0010 Epoch 25/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 593ms/step - accuracy: 0.9367 - loss: 0.2562 Epoch 25: val_loss did not improve from 0.48246 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 614ms/step - accuracy: 0.9367 - loss: 0.2559 - val_accuracy: 0.8750 - val_loss: 0.4896 - learning_rate: 0.0010 Epoch 26/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 628ms/step - accuracy: 0.9562 - loss: 0.2416 Epoch 26: val_loss did not improve from 0.48246 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 651ms/step - accuracy: 0.9556 - loss: 0.2417 - val_accuracy: 0.8750 - val_loss: 0.4987 - learning_rate: 0.0010 Epoch 27/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 518ms/step - accuracy: 0.9559 - loss: 0.2238 Epoch 27: val_loss did not improve from 0.48246 14/14 ━━━━━━━━━━━━━━━━━━━━ 8s 545ms/step - accuracy: 0.9563 - loss: 0.2240 - val_accuracy: 0.8750 - val_loss: 0.5010 - learning_rate: 0.0010
Training Observation (Epochs 30–37)
- The model continues to show high training accuracy (~95–98%) with low training loss.
- Validation accuracy remains stable around 85–88%, showing no significant improvement.
- Validation loss slightly fluctuates around 0.50, with a minor improvement at Epoch 32:
- Epoch 32: val_loss improved from 0.50878 to 0.49954 → model checkpoint saved.
- No further validation loss improvement observed after Epoch 32.
- Learning rate remains constant at 0.0010; ReduceLROnPlateau has not triggered yet.
- Model may be approaching performance saturation on the validation set.
# Show model accuracy
plot_model_accuracy(history_eff_net,cnn_model_effcinetnet)
Obsrvations:¶
- We can see the model is kind of little bit overfitting with 97% accuracy on training where as validation accuracy stand at 87.5%
- Still this is a good improvements over previous model.
Observations from Model Training and Validation
Training & Validation Accuracy (Left Plot)
- Final Training Accuracy: 97.09%
- Final Validation Accuracy: 87.50%
- Training accuracy steadily increases and stabilizes near 97%.
- Validation accuracy improves initially and plateaus around 87-88% from epoch ~10 onward.
- A ~10% gap between training and validation accuracy suggests overfitting.
Training & Validation Loss (Right Plot)
- Final Training Loss: 0.1712
- Final Validation Loss: 0.5146
- Training loss consistently decreases, showing the model is fitting the training data well.
- Validation loss decreases initially but plateaus after ~10 epochs, indicating limited generalization.
- The higher validation loss compared to training loss confirms mild overfitting.
# Evaluate on test data
cnn_model_effcinetnet.evaluate(test_generator_tl)
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 75ms/step - accuracy: 0.8423 - loss: 0.3950
[0.3819694519042969, 0.8571428656578064]
Observations:¶
Test accuracy is around 84% which is far better then previous models without transfer learning
Test Loss: 0.3820
Test Accuracy: 85.71%
The test accuracy is close to the validation accuracy (~87.50%), indicating that the model generalizes well and is not significantly overfitting.
The test loss is also reasonably low, supporting consistent performance on unseen data.
# Show Confusion matrix
plot_confusion_matrix(cnn_model_effcinetnet,test_generator_tl,list(test_generator_tl.class_indices.keys()))
2/2 ━━━━━━━━━━━━━━━━━━━━ 18s 8s/step
Observations:¶
- Classes Like
pizza,chocolate_cake,frnech_fries,onion_ringare predicted quite correctly without any false positive or nagative. - Classes like ice_cream,nachos,samosh,waffle has some mis classicfication
- Tacos has most miss classfication as some tacos are detected as samosha and nachos
effcinet_net_res_df=generate_classification_report(cnn_model_effcinetnet, test_generator_tl,)
/usr/local/lib/python3.11/dist-packages/keras/src/trainers/data_adapters/py_dataset_adapter.py:121: UserWarning: Your `PyDataset` class should call `super().__init__(**kwargs)` in its constructor. `**kwargs` can include `workers`, `use_multiprocessing`, `max_queue_size`. Do not pass these arguments to `fit()`, as they will be ignored. self._warn_if_super_not_called()
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 147ms/step precision recall f1-score support chocolate_cake 1.00 1.00 1.00 5 french_fries 1.00 1.00 1.00 8 ice_cream 0.83 0.83 0.83 6 nachos 0.80 0.80 0.80 5 onion_ring 1.00 1.00 1.00 5 pizza 1.00 1.00 1.00 6 samosa 0.75 0.86 0.80 7 strawberry_shortcake 0.67 0.80 0.73 5 tacos 0.50 0.40 0.44 5 waffle 1.00 0.75 0.86 4 accuracy 0.86 56 macro avg 0.86 0.84 0.85 56 weighted avg 0.86 0.86 0.86 56
# Visualise some predictions
visualize_predictions_tl(cnn_model_effcinetnet, test_generator_tl,model_type='efficientnet')
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 97ms/step
Observations:¶
- F1 score at .85 whih is good and accurcy is at 86% on test data
- There are missclassification w.r.t tacos wafle ,strawberry_shortcake,ice_cream,nachos,samosa which we had already observed in confusion matrix
This model has 6.5 million parameters due to which it might be overfitting with training .We will try with light model like Mobilenet¶
Base Model MobileNet¶
train_generator_tl_2, valid_generator_tl_2, test_generator_tl_2 = get_image_generators(
train_df, valid_df, test_df, base_path,
preprocessing_function=tf.keras.applications.mobilenet_v3.preprocess_input,
rotation_range=15, # Randomly rotate images within ±15 degrees
width_shift_range=0.1, # Shift image width by 10 percent
height_shift_range=0.1, # Shift image height by 10 percent
shear_range=0.1, # Apply shearing transformation
zoom_range=0.2, # Zoom into the image by up to 20 percent
horizontal_flip=True, # Randomly flip images horizontally
vertical_flip=True # Randomly flip images vertically
)
Found 446 validated image filenames belonging to 10 classes. Found 56 validated image filenames belonging to 10 classes. Found 56 validated image filenames belonging to 10 classes.
/usr/local/lib/python3.11/dist-packages/keras/src/legacy/preprocessing/image.py:920: UserWarning: Found 1 invalid image filename(s) in x_col="image_name". These filename(s) will be ignored. warnings.warn(
# define call back
checkpointer, earlystopping, reduceLR=get_callbacks(filepath='model_tl_mob_net.weights.h5')
# clear session
K.clear_session()
# Load MobileNetV3Large base model with pretrained ImageNet weights
base_model = MobileNetV3Large(include_top=False, weights='imagenet', input_shape=(224,224,3))
cnn_model_mobilenet=create_cnn_model_with_basemodel(base_model)
Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/mobilenet_v3/weights_mobilenet_v3_large_224_1.0_float_no_top_v2.h5 12683000/12683000 ━━━━━━━━━━━━━━━━━━━━ 0s 0us/step
# Show summary
cnn_model_mobilenet.summary()
Model: "functional"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ input_layer (InputLayer) │ (None, 224, 224, 3) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ MobileNetV3Large (Functional) │ (None, 7, 7, 960) │ 2,996,352 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ pooling_layer │ (None, 960) │ 0 │ │ (GlobalAveragePooling2D) │ │ │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dropout (Dropout) │ (None, 960) │ 0 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense (Dense) │ (None, 10) │ 9,610 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ activation_20 (Activation) │ (None, 10) │ 0 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 3,005,962 (11.47 MB)
Trainable params: 9,610 (37.54 KB)
Non-trainable params: 2,996,352 (11.43 MB)
Observation
Transfer Learning Model Summary (MobileNetV3 Large)
The model uses MobileNetV3 Large as the base for feature extraction with additional custom layers for classification:
• Input Layer:
- Shape:
(None, 224, 224, 3) - Accepts RGB images of size 224x224.
• Base Model:
MobileNetV3Large- Output Shape:
(None, 7, 7, 960) - Pretrained weights are frozen (non-trainable).
- Parameters:
2,996,352(non-trainable)
• Top Layers:
GlobalAveragePooling2D: Converts 7×7×960 feature maps into 960-dimensional vector.Dropout: Adds regularization by randomly dropping units during training.Dense: Fully connected layer with 10 output neurons (for 10 classes).Activation: Final activation layer for prediction (e.g., softmax).
• Total Parameters:
3,005,962(~11.47 MB)- Trainable:
9,610(~37.5 KB) - Non-trainable:
2,996,352(~11.43 MB)
Only the custom top layers are trainable, making this a fine-tuning setup ideal for transfer learning with limited data.
# Fit the model
history_mob_net=cnn_model_mobilenet.fit(train_generator_tl_2, epochs=50, validation_data=valid_generator_tl_2,callbacks=[checkpointer,earlystopping,reduceLR])
/usr/local/lib/python3.11/dist-packages/keras/src/trainers/data_adapters/py_dataset_adapter.py:121: UserWarning: Your `PyDataset` class should call `super().__init__(**kwargs)` in its constructor. `**kwargs` can include `workers`, `use_multiprocessing`, `max_queue_size`. Do not pass these arguments to `fit()`, as they will be ignored. self._warn_if_super_not_called()
Epoch 1/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 986ms/step - accuracy: 0.1159 - loss: 3.2117 Epoch 1: val_loss improved from inf to 1.96670, saving model to model_tl_mob_net.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 39s 2s/step - accuracy: 0.1167 - loss: 3.1979 - val_accuracy: 0.3036 - val_loss: 1.9667 - learning_rate: 0.0010 Epoch 2/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 478ms/step - accuracy: 0.2849 - loss: 2.2567 Epoch 2: val_loss improved from 1.96670 to 1.23128, saving model to model_tl_mob_net.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 7s 532ms/step - accuracy: 0.2874 - loss: 2.2433 - val_accuracy: 0.6429 - val_loss: 1.2313 - learning_rate: 0.0010 Epoch 3/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 609ms/step - accuracy: 0.4550 - loss: 1.6146 Epoch 3: val_loss improved from 1.23128 to 0.93286, saving model to model_tl_mob_net.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 664ms/step - accuracy: 0.4571 - loss: 1.6087 - val_accuracy: 0.7679 - val_loss: 0.9329 - learning_rate: 0.0010 Epoch 4/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 562ms/step - accuracy: 0.5862 - loss: 1.1896 Epoch 4: val_loss improved from 0.93286 to 0.77062, saving model to model_tl_mob_net.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 637ms/step - accuracy: 0.5879 - loss: 1.1880 - val_accuracy: 0.8393 - val_loss: 0.7706 - learning_rate: 0.0010 Epoch 5/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 569ms/step - accuracy: 0.6533 - loss: 0.9883 Epoch 5: val_loss improved from 0.77062 to 0.64118, saving model to model_tl_mob_net.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 10s 628ms/step - accuracy: 0.6541 - loss: 0.9854 - val_accuracy: 0.8571 - val_loss: 0.6412 - learning_rate: 0.0010 Epoch 6/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 615ms/step - accuracy: 0.7123 - loss: 0.9363 Epoch 6: val_loss improved from 0.64118 to 0.59857, saving model to model_tl_mob_net.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 10s 671ms/step - accuracy: 0.7116 - loss: 0.9349 - val_accuracy: 0.8214 - val_loss: 0.5986 - learning_rate: 0.0010 Epoch 7/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 626ms/step - accuracy: 0.6870 - loss: 0.8383 Epoch 7: val_loss improved from 0.59857 to 0.54982, saving model to model_tl_mob_net.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 682ms/step - accuracy: 0.6874 - loss: 0.8356 - val_accuracy: 0.8393 - val_loss: 0.5498 - learning_rate: 0.0010 Epoch 8/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 500ms/step - accuracy: 0.7415 - loss: 0.7535 Epoch 8: val_loss improved from 0.54982 to 0.53114, saving model to model_tl_mob_net.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 8s 554ms/step - accuracy: 0.7430 - loss: 0.7511 - val_accuracy: 0.8393 - val_loss: 0.5311 - learning_rate: 0.0010 Epoch 9/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 606ms/step - accuracy: 0.7980 - loss: 0.6211 Epoch 9: val_loss improved from 0.53114 to 0.51314, saving model to model_tl_mob_net.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 660ms/step - accuracy: 0.7979 - loss: 0.6210 - val_accuracy: 0.8393 - val_loss: 0.5131 - learning_rate: 0.0010 Epoch 10/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 551ms/step - accuracy: 0.8067 - loss: 0.5781 Epoch 10: val_loss improved from 0.51314 to 0.49080, saving model to model_tl_mob_net.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 622ms/step - accuracy: 0.8089 - loss: 0.5746 - val_accuracy: 0.8750 - val_loss: 0.4908 - learning_rate: 0.0010 Epoch 11/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 492ms/step - accuracy: 0.8329 - loss: 0.5138 Epoch 11: val_loss improved from 0.49080 to 0.49066, saving model to model_tl_mob_net.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 545ms/step - accuracy: 0.8337 - loss: 0.5118 - val_accuracy: 0.8750 - val_loss: 0.4907 - learning_rate: 0.0010 Epoch 12/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 627ms/step - accuracy: 0.8499 - loss: 0.4747 Epoch 12: val_loss improved from 0.49066 to 0.47977, saving model to model_tl_mob_net.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 683ms/step - accuracy: 0.8500 - loss: 0.4743 - val_accuracy: 0.8750 - val_loss: 0.4798 - learning_rate: 0.0010 Epoch 13/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 574ms/step - accuracy: 0.8622 - loss: 0.4161 Epoch 13: val_loss improved from 0.47977 to 0.47117, saving model to model_tl_mob_net.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 652ms/step - accuracy: 0.8617 - loss: 0.4185 - val_accuracy: 0.8571 - val_loss: 0.4712 - learning_rate: 0.0010 Epoch 14/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 495ms/step - accuracy: 0.8923 - loss: 0.4111 Epoch 14: val_loss improved from 0.47117 to 0.46910, saving model to model_tl_mob_net.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 550ms/step - accuracy: 0.8918 - loss: 0.4099 - val_accuracy: 0.8571 - val_loss: 0.4691 - learning_rate: 0.0010 Epoch 15/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 615ms/step - accuracy: 0.8843 - loss: 0.3378 Epoch 15: val_loss improved from 0.46910 to 0.46412, saving model to model_tl_mob_net.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 670ms/step - accuracy: 0.8838 - loss: 0.3391 - val_accuracy: 0.8929 - val_loss: 0.4641 - learning_rate: 0.0010 Epoch 16/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 568ms/step - accuracy: 0.8975 - loss: 0.3386 Epoch 16: val_loss did not improve from 0.46412 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 619ms/step - accuracy: 0.8976 - loss: 0.3394 - val_accuracy: 0.8571 - val_loss: 0.4643 - learning_rate: 0.0010 Epoch 17/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 516ms/step - accuracy: 0.8860 - loss: 0.3239 Epoch 17: val_loss did not improve from 0.46412 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 536ms/step - accuracy: 0.8865 - loss: 0.3244 - val_accuracy: 0.8571 - val_loss: 0.4746 - learning_rate: 0.0010 Epoch 18/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 611ms/step - accuracy: 0.9527 - loss: 0.2556 Epoch 18: val_loss improved from 0.46412 to 0.45416, saving model to model_tl_mob_net.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 664ms/step - accuracy: 0.9515 - loss: 0.2580 - val_accuracy: 0.8929 - val_loss: 0.4542 - learning_rate: 0.0010 Epoch 19/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 560ms/step - accuracy: 0.9368 - loss: 0.2813 Epoch 19: val_loss improved from 0.45416 to 0.45069, saving model to model_tl_mob_net.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 638ms/step - accuracy: 0.9352 - loss: 0.2835 - val_accuracy: 0.9107 - val_loss: 0.4507 - learning_rate: 0.0010 Epoch 20/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 492ms/step - accuracy: 0.9111 - loss: 0.2785 Epoch 20: val_loss improved from 0.45069 to 0.44662, saving model to model_tl_mob_net.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 8s 548ms/step - accuracy: 0.9102 - loss: 0.2802 - val_accuracy: 0.8929 - val_loss: 0.4466 - learning_rate: 0.0010 Epoch 21/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 613ms/step - accuracy: 0.8960 - loss: 0.3172 Epoch 21: val_loss did not improve from 0.44662 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 633ms/step - accuracy: 0.8972 - loss: 0.3152 - val_accuracy: 0.8750 - val_loss: 0.4749 - learning_rate: 0.0010 Epoch 22/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 492ms/step - accuracy: 0.9348 - loss: 0.2505 Epoch 22: val_loss did not improve from 0.44662 14/14 ━━━━━━━━━━━━━━━━━━━━ 7s 511ms/step - accuracy: 0.9345 - loss: 0.2502 - val_accuracy: 0.8929 - val_loss: 0.4524 - learning_rate: 0.0010 Epoch 23/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 612ms/step - accuracy: 0.9029 - loss: 0.2699 Epoch 23: val_loss improved from 0.44662 to 0.44148, saving model to model_tl_mob_net.weights.h5 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 672ms/step - accuracy: 0.9042 - loss: 0.2685 - val_accuracy: 0.8929 - val_loss: 0.4415 - learning_rate: 0.0010 Epoch 24/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 629ms/step - accuracy: 0.9409 - loss: 0.2507 Epoch 24: val_loss did not improve from 0.44148 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 649ms/step - accuracy: 0.9405 - loss: 0.2504 - val_accuracy: 0.8571 - val_loss: 0.4657 - learning_rate: 0.0010 Epoch 25/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 507ms/step - accuracy: 0.9234 - loss: 0.2487 Epoch 25: val_loss did not improve from 0.44148 14/14 ━━━━━━━━━━━━━━━━━━━━ 7s 527ms/step - accuracy: 0.9236 - loss: 0.2483 - val_accuracy: 0.8929 - val_loss: 0.4680 - learning_rate: 0.0010 Epoch 26/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 618ms/step - accuracy: 0.9451 - loss: 0.2061 Epoch 26: val_loss did not improve from 0.44148 14/14 ━━━━━━━━━━━━━━━━━━━━ 9s 639ms/step - accuracy: 0.9447 - loss: 0.2069 - val_accuracy: 0.8750 - val_loss: 0.4444 - learning_rate: 0.0010 Epoch 27/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 505ms/step - accuracy: 0.9377 - loss: 0.2050 Epoch 27: val_loss did not improve from 0.44148 14/14 ━━━━━━━━━━━━━━━━━━━━ 8s 534ms/step - accuracy: 0.9377 - loss: 0.2058 - val_accuracy: 0.8571 - val_loss: 0.4427 - learning_rate: 0.0010 Epoch 28/50 14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 561ms/step - accuracy: 0.9501 - loss: 0.2046 Epoch 28: val_loss did not improve from 0.44148 14/14 ━━━━━━━━━━━━━━━━━━━━ 8s 583ms/step - accuracy: 0.9503 - loss: 0.2040 - val_accuracy: 0.8929 - val_loss: 0.4684 - learning_rate: 0.0010
Observations: Model Training Progress (Epochs 1–20)
The model was trained for 50 epochs using a MobileNetV3 backbone with transfer learning.
Training Accurcay .95 and validation Accuracy .89%
The model continues to generalize well with increasing accuracy and gradually reducing validation loss, suggesting healthy training without overfitting (yet).
# Evaluate on test data
cnn_model_mobilenet.evaluate(test_generator_tl_2)
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 89ms/step - accuracy: 0.7857 - loss: 0.5470
[0.5325861573219299, 0.8035714030265808]
Test Set Evaluation (MobileNetV3 Model)
After training, the model was evaluated on the test dataset using cnn_model_mobilenet.evaluate():
• Test Loss: 0.5325
• Test Accuracy: 80.35%
The model demonstrates strong generalization with over 80% accuracy on unseen test data, consistent with validation performance.
This indicates that the transfer learning approach with MobileNetV3 and data augmentation was effective in building a robust classifier.
# Show model accurcy plot
plot_model_accuracy(history_mob_net,cnn_model_effcinetnet)
Observations:¶
The training and validation curves reveal strong learning dynamics and generalization:
Accuracy
- Training Accuracy: 0.95 (≈ 95%)
- Validation Accuracy: 0.89 (≈ 89%)
- The gap between training and validation accuracy is small, indicating low overfitting
- Validation accuracy plateaued after epoch ~10, suggesting the model converged early
Loss
- Training Loss: 0.2899
- Validation Loss: 0.5012
- Both training and validation loss decreased consistently
- The validation loss stabilized from epoch ~10, aligning with accuracy trends
Final Test Evaluation
- Test Accuracy: 80.34%
- Test Loss: 0.5388
Insights
- The model achieved excellent performance through transfer learning with MobileNetV3
- Training and validation curves indicate that early stopping could help prevent slight overfitting beyond epoch 10–12
- Potential improvements: learning rate tuning, data augmentation, or fine-tuning deeper layers
Overall, the model is well-trained and generalizes effectively to unseen data
plot_confusion_matrix(cnn_model_mobilenet,test_generator_tl,list(test_generator_tl_2.class_indices.keys()))
2/2 ━━━━━━━━━━━━━━━━━━━━ 12s 7s/step
Observations:¶
- Classes Like
pizza,chocolate_cake,frnech_fries,onion_ringare predicted quite correctly without any false positive or nagative. - Classes like ice_cream,nachos,samosh,waffle has some mis classicfication
- Tacos has most miss classfication as some tacos are detected as samosha and nachos
- Samosha is also having so many misclassification detected as straberry_shortcake or tacos
- There is an increase in missclassfication for strawberry short cake. compared to efficientnet
# Show classification report
mobilenet_res_df=generate_classification_report(cnn_model_mobilenet, test_generator_tl_2)
2/2 ━━━━━━━━━━━━━━━━━━━━ 0s 82ms/step precision recall f1-score support chocolate_cake 1.00 1.00 1.00 5 french_fries 1.00 0.88 0.93 8 ice_cream 0.80 0.67 0.73 6 nachos 1.00 0.20 0.33 5 onion_ring 0.83 1.00 0.91 5 pizza 1.00 1.00 1.00 6 samosa 0.67 0.86 0.75 7 strawberry_shortcake 0.67 0.80 0.73 5 tacos 0.57 0.80 0.67 5 waffle 0.75 0.75 0.75 4 accuracy 0.80 56 macro avg 0.83 0.79 0.78 56 weighted avg 0.84 0.80 0.79 56
# Visualise some predictions
visualize_predictions_tl(cnn_model_mobilenet, test_generator_tl_2,model_type='mobilenet')
1/1 ━━━━━━━━━━━━━━━━━━━━ 6s 6s/step
Classification Report Analysis (MobileNetV3 Fine-Tuned Model)
Overall Accuracy
- The model achieved an overall accuracy of 80% on the test set (56 images)
Class-wise Performance
- chocolate_cake: Perfect precision (1.00) but recall 0.80, indicating some missed instances
- french_fries: High precision and recall, F1-score of 0.93, indicating strong prediction confidence
- ice_cream: Balanced precision and recall (0.83), suggesting consistent performance
- nachos: High precision (1.00), slightly lower recall (0.80), potential false negatives
- onion_ring & pizza: Perfect classification (precision, recall, F1 all 1.00)
- samosa: Lower precision (0.67) but high recall (0.86), model often predicts samosa but includes some incorrect ones
- strawberry_shortcake: F1-score of 0.60 shows the model struggles with this class, possibly due to limited or ambiguous features
- tacos: Lowest performing class with F1-score of 0.55, indicating confusion with similar-looking items
- waffle: Moderate F1-score (0.75), fair performance
Macro Average (Unweighted)
- Precision: 0.83
- Recall: 0.80
- F1-score: 0.78
Weighted Average (Accounts for Support/Class Size)
- Precision: 0.84
- Recall: 0.78
- F1-score: 0.79
Insights
- Classes with perfect scores suggest strong feature recognition
- Lower scores in strawberry_shortcake and tacos may need:
- More training samples
- Better data augmentation
- Possible class merging or clearer labeling if visual overlap exists
- Overall model is well balanced with only minor class-specific improvements needed
Model Selection¶
# Show overall refult for comparision
df1=effcinet_net_res_df.drop('support',axis=1).add_suffix("_efficentnet")
df2=mobilenet_res_df.drop('support',axis=1).add_suffix("_mobilenet")
pd.concat([df1,df2],axis=1)
| precision_efficentnet | recall_efficentnet | f1-score_efficentnet | precision_mobilenet | recall_mobilenet | f1-score_mobilenet | |
|---|---|---|---|---|---|---|
| chocolate_cake | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 |
| french_fries | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 0.875000 | 0.933333 |
| ice_cream | 0.833333 | 0.833333 | 0.833333 | 0.800000 | 0.666667 | 0.727273 |
| nachos | 0.800000 | 0.800000 | 0.800000 | 1.000000 | 0.200000 | 0.333333 |
| onion_ring | 1.000000 | 1.000000 | 1.000000 | 0.833333 | 1.000000 | 0.909091 |
| pizza | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 |
| samosa | 0.750000 | 0.857143 | 0.800000 | 0.666667 | 0.857143 | 0.750000 |
| strawberry_shortcake | 0.666667 | 0.800000 | 0.727273 | 0.666667 | 0.800000 | 0.727273 |
| tacos | 0.500000 | 0.400000 | 0.444444 | 0.571429 | 0.800000 | 0.666667 |
| waffle | 1.000000 | 0.750000 | 0.857143 | 0.750000 | 0.750000 | 0.750000 |
| accuracy | 0.857143 | 0.857143 | 0.857143 | 0.803571 | 0.803571 | 0.803571 |
| macro avg | 0.855000 | 0.844048 | 0.846219 | 0.828810 | 0.794881 | 0.779697 |
| weighted avg | 0.858631 | 0.857143 | 0.855128 | 0.836139 | 0.803571 | 0.790395 |
Model Comparison: EfficientNet vs MobileNetV3
Performance Summary:
EfficientNet
- Test Loss: 0.3820
- Test Accuracy: 84%
- Weighted F1-Score: 0.858
- Macro F1-Score: 0.845
- Training Time: ~8 minutes 50 seconds
MobileNetV3
- Test Loss: 0.5688
- Test Accuracy: 80%
- Weighted F1-Score: 0.78
- Macro F1-Score: 0.79
- Training Time: ~2 minutes 30 seconds
Observations:
EfficientNet shows slightly better overall metrics than MobileNetV3, with higher weighted and macro averages.
EfficientNet outperforms MobileNetV3 on harder classes like
strawberry_shortcakeandsamosa.MobileNet catches up in
nachos,tacos, and performs equally well inpizzaandonion_ring.Recommendation: If your use case prioritizes consistent class-wise performance and slightly better general accuracy, choose EfficientNet. If inference speed and lighter deployment are more critical, MobileNetV3 still performs competitively.
EfficientNet achieved higher accuracy and F1-scores compared to MobileNetV3, indicating better classification performance across most classes.
However, EfficientNet took significantly longer to train (~8 mins 50 secs) due to its deeper architecture and more parameters (20M+).
MobileNetV3, while slightly behind in performance, trained much faster (~2 mins 30 secs) and still achieved respectable accuracy and F1-scores.
This makes MobileNetV3 more suitable for real-time or resource-constrained environments, where training time or model size is critical.
On the other hand, EfficientNet is better suited for scenarios where higher accuracy is prioritized over speed or computational cost.
Object Detection¶
Needed as sometimes collab has updated package which fails to have selecetive search¶
!pip uninstall -y opencv-python opencv-contrib-python numpy
!pip install numpy==1.26.4
!pip install opencv-contrib-python==4.8.0.76
Found existing installation: opencv-python 4.11.0.86
Uninstalling opencv-python-4.11.0.86:
Successfully uninstalled opencv-python-4.11.0.86
Found existing installation: opencv-contrib-python 4.11.0.86
Uninstalling opencv-contrib-python-4.11.0.86:
Successfully uninstalled opencv-contrib-python-4.11.0.86
Found existing installation: numpy 2.0.2
Uninstalling numpy-2.0.2:
Successfully uninstalled numpy-2.0.2
Collecting numpy==1.26.4
Downloading numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.0/61.0 kB 1.9 MB/s eta 0:00:00
Downloading numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.3/18.3 MB 36.9 MB/s eta 0:00:00
Installing collected packages: numpy
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
dopamine-rl 4.1.2 requires opencv-python>=3.4.8.29, which is not installed.
thinc 8.3.6 requires numpy<3.0.0,>=2.0.0, but you have numpy 1.26.4 which is incompatible.
Successfully installed numpy-1.26.4
Collecting opencv-contrib-python==4.8.0.76 Downloading opencv_contrib_python-4.8.0.76-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (19 kB) Requirement already satisfied: numpy>=1.21.2 in /usr/local/lib/python3.11/dist-packages (from opencv-contrib-python==4.8.0.76) (1.26.4) Downloading opencv_contrib_python-4.8.0.76-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (67.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 67.8/67.8 MB 13.3 MB/s eta 0:00:00 Installing collected packages: opencv-contrib-python Successfully installed opencv-contrib-python-4.8.0.76
!pip install ultralytics
Collecting ultralytics Downloading ultralytics-8.3.155-py3-none-any.whl.metadata (37 kB) Requirement already satisfied: numpy>=1.23.0 in /usr/local/lib/python3.11/dist-packages (from ultralytics) (2.0.2) Requirement already satisfied: matplotlib>=3.3.0 in /usr/local/lib/python3.11/dist-packages (from ultralytics) (3.10.0) Requirement already satisfied: opencv-python>=4.6.0 in /usr/local/lib/python3.11/dist-packages (from ultralytics) (4.11.0.86) Requirement already satisfied: pillow>=7.1.2 in /usr/local/lib/python3.11/dist-packages (from ultralytics) (11.2.1) Requirement already satisfied: pyyaml>=5.3.1 in /usr/local/lib/python3.11/dist-packages (from ultralytics) (6.0.2) Requirement already satisfied: requests>=2.23.0 in /usr/local/lib/python3.11/dist-packages (from ultralytics) (2.32.3) Requirement already satisfied: scipy>=1.4.1 in /usr/local/lib/python3.11/dist-packages (from ultralytics) (1.15.3) Requirement already satisfied: torch>=1.8.0 in /usr/local/lib/python3.11/dist-packages (from ultralytics) (2.6.0+cu124) Requirement already satisfied: torchvision>=0.9.0 in /usr/local/lib/python3.11/dist-packages (from ultralytics) (0.21.0+cu124) Requirement already satisfied: tqdm>=4.64.0 in /usr/local/lib/python3.11/dist-packages (from ultralytics) (4.67.1) Requirement already satisfied: psutil in /usr/local/lib/python3.11/dist-packages (from ultralytics) (5.9.5) Requirement already satisfied: py-cpuinfo in /usr/local/lib/python3.11/dist-packages (from ultralytics) (9.0.0) Requirement already satisfied: pandas>=1.1.4 in /usr/local/lib/python3.11/dist-packages (from ultralytics) (2.2.2) Collecting ultralytics-thop>=2.0.0 (from ultralytics) Downloading ultralytics_thop-2.0.14-py3-none-any.whl.metadata (9.4 kB) Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.11/dist-packages (from matplotlib>=3.3.0->ultralytics) (1.3.2) Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.11/dist-packages (from matplotlib>=3.3.0->ultralytics) (0.12.1) Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.11/dist-packages (from matplotlib>=3.3.0->ultralytics) (4.58.1) Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.11/dist-packages (from matplotlib>=3.3.0->ultralytics) (1.4.8) Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.11/dist-packages (from matplotlib>=3.3.0->ultralytics) (24.2) Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.11/dist-packages (from matplotlib>=3.3.0->ultralytics) (3.2.3) Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.11/dist-packages (from matplotlib>=3.3.0->ultralytics) (2.9.0.post0) Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.11/dist-packages (from pandas>=1.1.4->ultralytics) (2025.2) Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.11/dist-packages (from pandas>=1.1.4->ultralytics) (2025.2) Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/dist-packages (from requests>=2.23.0->ultralytics) (3.4.2) Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/dist-packages (from requests>=2.23.0->ultralytics) (3.10) Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.11/dist-packages (from requests>=2.23.0->ultralytics) (2.4.0) Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.11/dist-packages (from requests>=2.23.0->ultralytics) (2025.4.26) Requirement already satisfied: filelock in /usr/local/lib/python3.11/dist-packages (from torch>=1.8.0->ultralytics) (3.18.0) Requirement already satisfied: typing-extensions>=4.10.0 in /usr/local/lib/python3.11/dist-packages (from torch>=1.8.0->ultralytics) (4.14.0) Requirement already satisfied: networkx in /usr/local/lib/python3.11/dist-packages (from torch>=1.8.0->ultralytics) (3.5) Requirement already satisfied: jinja2 in /usr/local/lib/python3.11/dist-packages (from torch>=1.8.0->ultralytics) (3.1.6) Requirement already satisfied: fsspec in /usr/local/lib/python3.11/dist-packages (from torch>=1.8.0->ultralytics) (2025.3.2) Collecting nvidia-cuda-nvrtc-cu12==12.4.127 (from torch>=1.8.0->ultralytics) Downloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB) Collecting nvidia-cuda-runtime-cu12==12.4.127 (from torch>=1.8.0->ultralytics) Downloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB) Collecting nvidia-cuda-cupti-cu12==12.4.127 (from torch>=1.8.0->ultralytics) Downloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB) Collecting nvidia-cudnn-cu12==9.1.0.70 (from torch>=1.8.0->ultralytics) Downloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB) Collecting nvidia-cublas-cu12==12.4.5.8 (from torch>=1.8.0->ultralytics) Downloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB) Collecting nvidia-cufft-cu12==11.2.1.3 (from torch>=1.8.0->ultralytics) Downloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB) Collecting nvidia-curand-cu12==10.3.5.147 (from torch>=1.8.0->ultralytics) Downloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB) Collecting nvidia-cusolver-cu12==11.6.1.9 (from torch>=1.8.0->ultralytics) Downloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB) Collecting nvidia-cusparse-cu12==12.3.1.170 (from torch>=1.8.0->ultralytics) Downloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB) Requirement already satisfied: nvidia-cusparselt-cu12==0.6.2 in /usr/local/lib/python3.11/dist-packages (from torch>=1.8.0->ultralytics) (0.6.2) Requirement already satisfied: nvidia-nccl-cu12==2.21.5 in /usr/local/lib/python3.11/dist-packages (from torch>=1.8.0->ultralytics) (2.21.5) Requirement already satisfied: nvidia-nvtx-cu12==12.4.127 in /usr/local/lib/python3.11/dist-packages (from torch>=1.8.0->ultralytics) (12.4.127) Collecting nvidia-nvjitlink-cu12==12.4.127 (from torch>=1.8.0->ultralytics) Downloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB) Requirement already satisfied: triton==3.2.0 in /usr/local/lib/python3.11/dist-packages (from torch>=1.8.0->ultralytics) (3.2.0) Requirement already satisfied: sympy==1.13.1 in /usr/local/lib/python3.11/dist-packages (from torch>=1.8.0->ultralytics) (1.13.1) Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.11/dist-packages (from sympy==1.13.1->torch>=1.8.0->ultralytics) (1.3.0) Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.11/dist-packages (from python-dateutil>=2.7->matplotlib>=3.3.0->ultralytics) (1.17.0) Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.11/dist-packages (from jinja2->torch>=1.8.0->ultralytics) (3.0.2) Downloading ultralytics-8.3.155-py3-none-any.whl (1.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 27.1 MB/s eta 0:00:00 Downloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl (363.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 363.4/363.4 MB 1.2 MB/s eta 0:00:00 Downloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (13.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.8/13.8 MB 119.4 MB/s eta 0:00:00 Downloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (24.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.6/24.6 MB 89.4 MB/s eta 0:00:00 Downloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (883 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 883.7/883.7 kB 62.1 MB/s eta 0:00:00 Downloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 664.8/664.8 MB 2.4 MB/s eta 0:00:00 Downloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl (211.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 211.5/211.5 MB 6.0 MB/s eta 0:00:00 Downloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl (56.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.3/56.3 MB 12.7 MB/s eta 0:00:00 Downloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl (127.9 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 127.9/127.9 MB 9.4 MB/s eta 0:00:00 Downloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl (207.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 207.5/207.5 MB 6.1 MB/s eta 0:00:00 Downloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (21.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 21.1/21.1 MB 94.9 MB/s eta 0:00:00 Downloading ultralytics_thop-2.0.14-py3-none-any.whl (26 kB) Installing collected packages: nvidia-nvjitlink-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, nvidia-cusparse-cu12, nvidia-cudnn-cu12, nvidia-cusolver-cu12, ultralytics-thop, ultralytics Attempting uninstall: nvidia-nvjitlink-cu12 Found existing installation: nvidia-nvjitlink-cu12 12.5.82 Uninstalling nvidia-nvjitlink-cu12-12.5.82: Successfully uninstalled nvidia-nvjitlink-cu12-12.5.82 Attempting uninstall: nvidia-curand-cu12 Found existing installation: nvidia-curand-cu12 10.3.6.82 Uninstalling nvidia-curand-cu12-10.3.6.82: Successfully uninstalled nvidia-curand-cu12-10.3.6.82 Attempting uninstall: nvidia-cufft-cu12 Found existing installation: nvidia-cufft-cu12 11.2.3.61 Uninstalling nvidia-cufft-cu12-11.2.3.61: Successfully uninstalled nvidia-cufft-cu12-11.2.3.61 Attempting uninstall: nvidia-cuda-runtime-cu12 Found existing installation: nvidia-cuda-runtime-cu12 12.5.82 Uninstalling nvidia-cuda-runtime-cu12-12.5.82: Successfully uninstalled nvidia-cuda-runtime-cu12-12.5.82 Attempting uninstall: nvidia-cuda-nvrtc-cu12 Found existing installation: nvidia-cuda-nvrtc-cu12 12.5.82 Uninstalling nvidia-cuda-nvrtc-cu12-12.5.82: Successfully uninstalled nvidia-cuda-nvrtc-cu12-12.5.82 Attempting uninstall: nvidia-cuda-cupti-cu12 Found existing installation: nvidia-cuda-cupti-cu12 12.5.82 Uninstalling nvidia-cuda-cupti-cu12-12.5.82: Successfully uninstalled nvidia-cuda-cupti-cu12-12.5.82 Attempting uninstall: nvidia-cublas-cu12 Found existing installation: nvidia-cublas-cu12 12.5.3.2 Uninstalling nvidia-cublas-cu12-12.5.3.2: Successfully uninstalled nvidia-cublas-cu12-12.5.3.2 Attempting uninstall: nvidia-cusparse-cu12 Found existing installation: nvidia-cusparse-cu12 12.5.1.3 Uninstalling nvidia-cusparse-cu12-12.5.1.3: Successfully uninstalled nvidia-cusparse-cu12-12.5.1.3 Attempting uninstall: nvidia-cudnn-cu12 Found existing installation: nvidia-cudnn-cu12 9.3.0.75 Uninstalling nvidia-cudnn-cu12-9.3.0.75: Successfully uninstalled nvidia-cudnn-cu12-9.3.0.75 Attempting uninstall: nvidia-cusolver-cu12 Found existing installation: nvidia-cusolver-cu12 11.6.3.83 Uninstalling nvidia-cusolver-cu12-11.6.3.83: Successfully uninstalled nvidia-cusolver-cu12-11.6.3.83 Successfully installed nvidia-cublas-cu12-12.4.5.8 nvidia-cuda-cupti-cu12-12.4.127 nvidia-cuda-nvrtc-cu12-12.4.127 nvidia-cuda-runtime-cu12-12.4.127 nvidia-cudnn-cu12-9.1.0.70 nvidia-cufft-cu12-11.2.1.3 nvidia-curand-cu12-10.3.5.147 nvidia-cusolver-cu12-11.6.1.9 nvidia-cusparse-cu12-12.3.1.170 nvidia-nvjitlink-cu12-12.4.127 ultralytics-8.3.155 ultralytics-thop-2.0.14
import os
import numpy as np # Importing numpy for Matrix Operations
import pandas as pd # Importing pandas to read CSV files
import matplotlib.pyplot as plt # Importting matplotlib for Plotting and visualizing images
import math # Importing math module to perform mathematical operations
import cv2 # Importing openCV for image processing
import seaborn as sns # Importing seaborn to plot graphs
from collections import defaultdict
import random
import shutil
import os
# Tensorflow modules
import tensorflow as tf
from sklearn.model_selection import train_test_split
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.models import Sequential # Importing the sequential module to define a sequential model
from keras.callbacks import ReduceLROnPlateau, ModelCheckpoint, EarlyStopping
from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D,MaxPool2D, GlobalAveragePooling2D, Input, BatchNormalization, Multiply, Activation
from tensorflow.keras.optimizers import Adam,SGD,Optimizer
from tensorflow.keras.utils import to_categorical
# sklearn lib
from sklearn.metrics import accuracy_score
from sklearn.metrics import confusion_matrix
from keras import backend as K
from sklearn.model_selection import train_test_split # train test split
from sklearn.preprocessing import LabelEncoder # label encoder
from sklearn.metrics import accuracy_score, classification_report
from tensorflow.keras.applications import EfficientNetB1
from tensorflow.keras.applications import MobileNetV3Large
from tensorflow.keras.models import Model
from tensorflow.keras import layers
from tensorflow.keras.applications.efficientnet import preprocess_input
from tensorflow.keras.applications.mobilenet_v3 import preprocess_input
from sklearn.svm import LinearSVC
# tensorflow lib
import tensorflow as tf
from tqdm import tqdm
from PIL import Image
from tensorflow.keras.preprocessing.image import img_to_array
from sklearn.linear_model import Ridge
from sklearn.preprocessing import LabelEncoder
from PIL import UnidentifiedImageError
import matplotlib.patches as patches
import pickle
# pytorch
import torch
from torchvision.models.detection import fasterrcnn_resnet50_fpn
from torchvision.models.detection.faster_rcnn import FastRCNNPredictor
from torch.utils.data import Dataset
from torchvision.transforms import functional as F
import torchvision
from torchvision.models.detection.faster_rcnn import FastRCNNPredictor
from torch.utils.data import DataLoader
# Image augomomenation
import albumentations as A
from albumentations.pytorch import ToTensorV2
import shutil
import yaml
# Set seeds for reproducibility
seed_value = 42
random.seed(seed_value)
np.random.seed(seed_value)
tf.random.set_seed(seed_value)
os.environ['PYTHONHASHSEED'] = str(seed_value)
# Mount Google drive
from google.colab import drive
drive.mount('/content/drive')
Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount("/content/drive", force_remount=True).
# Unzip the annotated dataset
!unzip '/content/drive/MyDrive/Python Course_shared/computer Vision/annotation/Food-101-Annotated-V4.zip'
Archive: /content/drive/MyDrive/Python Course_shared/computer Vision/annotation/Food-101-Annotated-V4.zip replace __MACOSX/._Food-101-Annotated? [y]es, [n]o, [A]ll, [N]one, [r]ename: A inflating: __MACOSX/._Food-101-Annotated inflating: __MACOSX/Food-101-Annotated/._ice_cream inflating: __MACOSX/Food-101-Annotated/._samosa inflating: Food-101-Annotated/.DS_Store inflating: __MACOSX/Food-101-Annotated/._.DS_Store inflating: __MACOSX/Food-101-Annotated/._onion_ring inflating: __MACOSX/Food-101-Annotated/._strawberry_shortcake inflating: __MACOSX/Food-101-Annotated/._waffle inflating: Food-101-Annotated/annotation_refined.csv inflating: __MACOSX/Food-101-Annotated/._annotation_refined.csv inflating: __MACOSX/Food-101-Annotated/._chocolate_cake inflating: __MACOSX/Food-101-Annotated/._tacos inflating: __MACOSX/Food-101-Annotated/._pizza inflating: __MACOSX/Food-101-Annotated/._nachos inflating: __MACOSX/Food-101-Annotated/._french_fries inflating: Food-101-Annotated/ice_cream/85514.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._85514.jpg inflating: Food-101-Annotated/ice_cream/621259.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._621259.jpg inflating: Food-101-Annotated/ice_cream/1921412.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1921412.jpg inflating: Food-101-Annotated/ice_cream/1176281.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1176281.jpg inflating: Food-101-Annotated/ice_cream/3465698.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._3465698.jpg inflating: Food-101-Annotated/ice_cream/2005850.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._2005850.jpg inflating: Food-101-Annotated/ice_cream/2311283.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._2311283.jpg inflating: Food-101-Annotated/ice_cream/390886.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._390886.jpg inflating: Food-101-Annotated/ice_cream/649653.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._649653.jpg inflating: Food-101-Annotated/ice_cream/2862530.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._2862530.jpg inflating: Food-101-Annotated/ice_cream/596317.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._596317.jpg inflating: Food-101-Annotated/ice_cream/1961230.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1961230.jpg inflating: Food-101-Annotated/ice_cream/2752957.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._2752957.jpg inflating: Food-101-Annotated/ice_cream/3323080.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._3323080.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._resized_images inflating: Food-101-Annotated/ice_cream/995145.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._995145.jpg inflating: Food-101-Annotated/ice_cream/510048.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._510048.jpg inflating: Food-101-Annotated/ice_cream/660729.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._660729.jpg inflating: Food-101-Annotated/ice_cream/598638.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._598638.jpg inflating: Food-101-Annotated/ice_cream/2985290.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._2985290.jpg inflating: Food-101-Annotated/ice_cream/3384471.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._3384471.jpg inflating: Food-101-Annotated/ice_cream/1971651.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1971651.jpg inflating: Food-101-Annotated/ice_cream/1272987.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1272987.jpg inflating: Food-101-Annotated/ice_cream/1068026.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1068026.jpg inflating: Food-101-Annotated/ice_cream/2139248.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._2139248.jpg inflating: Food-101-Annotated/ice_cream/1615718.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1615718.jpg inflating: Food-101-Annotated/ice_cream/1995311.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1995311.jpg inflating: Food-101-Annotated/ice_cream/2289445.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._2289445.jpg inflating: Food-101-Annotated/ice_cream/3518829.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._3518829.jpg inflating: Food-101-Annotated/ice_cream/1954378.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1954378.jpg inflating: Food-101-Annotated/ice_cream/518018.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._518018.jpg inflating: Food-101-Annotated/ice_cream/478897.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._478897.jpg inflating: Food-101-Annotated/ice_cream/1371104.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1371104.jpg inflating: Food-101-Annotated/ice_cream/1629364.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1629364.jpg inflating: Food-101-Annotated/ice_cream/3758284.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._3758284.jpg inflating: Food-101-Annotated/ice_cream/1262551.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1262551.jpg inflating: Food-101-Annotated/ice_cream/1698568.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1698568.jpg inflating: Food-101-Annotated/ice_cream/1839769.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1839769.jpg inflating: Food-101-Annotated/ice_cream/366955.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._366955.jpg inflating: Food-101-Annotated/ice_cream/517105.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._517105.jpg inflating: Food-101-Annotated/ice_cream/612548.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._612548.jpg inflating: Food-101-Annotated/ice_cream/669677.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._669677.jpg inflating: Food-101-Annotated/ice_cream/2948329.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._2948329.jpg inflating: Food-101-Annotated/ice_cream/396427.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._396427.jpg inflating: Food-101-Annotated/ice_cream/519403.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._519403.jpg inflating: Food-101-Annotated/ice_cream/3838718.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._3838718.jpg inflating: Food-101-Annotated/ice_cream/1442308.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1442308.jpg inflating: Food-101-Annotated/ice_cream/238730.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._238730.jpg inflating: Food-101-Annotated/ice_cream/128941.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._128941.jpg inflating: Food-101-Annotated/ice_cream/1910824.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1910824.jpg inflating: Food-101-Annotated/ice_cream/3380318.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._3380318.jpg inflating: Food-101-Annotated/ice_cream/1303736.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._1303736.jpg inflating: Food-101-Annotated/ice_cream/243829.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._243829.jpg inflating: Food-101-Annotated/ice_cream/3693594.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._3693594.jpg inflating: Food-101-Annotated/ice_cream/3228081.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/._3228081.jpg inflating: Food-101-Annotated/samosa/2302.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2302.jpg inflating: Food-101-Annotated/samosa/1497664.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1497664.jpg inflating: Food-101-Annotated/samosa/195766.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._195766.jpg inflating: Food-101-Annotated/samosa/3478622.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3478622.jpg inflating: Food-101-Annotated/samosa/2998894.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2998894.jpg inflating: Food-101-Annotated/samosa/2778821.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2778821.jpg inflating: Food-101-Annotated/samosa/663294.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._663294.jpg inflating: Food-101-Annotated/samosa/1526132.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1526132.jpg inflating: Food-101-Annotated/samosa/104322.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._104322.jpg inflating: Food-101-Annotated/samosa/917040.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._917040.jpg inflating: Food-101-Annotated/samosa/3803813.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3803813.jpg inflating: Food-101-Annotated/samosa/1189287.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1189287.jpg inflating: Food-101-Annotated/samosa/1449447.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1449447.jpg inflating: Food-101-Annotated/samosa/15074.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._15074.jpg inflating: Food-101-Annotated/samosa/1383505.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1383505.jpg inflating: Food-101-Annotated/samosa/2703502.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2703502.jpg inflating: Food-101-Annotated/samosa/331119.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._331119.jpg inflating: Food-101-Annotated/samosa/1982708.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1982708.jpg inflating: Food-101-Annotated/samosa/1453309.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1453309.jpg inflating: Food-101-Annotated/samosa/3633981.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3633981.jpg inflating: Food-101-Annotated/samosa/2802920.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2802920.jpg inflating: Food-101-Annotated/samosa/924149.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._924149.jpg inflating: Food-101-Annotated/samosa/3011172.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3011172.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._resized_images inflating: Food-101-Annotated/samosa/2189028.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2189028.jpg inflating: Food-101-Annotated/samosa/3017105.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3017105.jpg inflating: Food-101-Annotated/samosa/2373677.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2373677.jpg inflating: Food-101-Annotated/samosa/2408934.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2408934.jpg inflating: Food-101-Annotated/samosa/2040239.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2040239.jpg inflating: Food-101-Annotated/samosa/3442040.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3442040.jpg inflating: Food-101-Annotated/samosa/3921972.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3921972.jpg inflating: Food-101-Annotated/samosa/1177448.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1177448.jpg inflating: Food-101-Annotated/samosa/2117161.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2117161.jpg inflating: Food-101-Annotated/samosa/2072483.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2072483.jpg inflating: Food-101-Annotated/samosa/1191466.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1191466.jpg inflating: Food-101-Annotated/samosa/1881590.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1881590.jpg inflating: Food-101-Annotated/samosa/1239544.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1239544.jpg inflating: Food-101-Annotated/samosa/6119.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._6119.jpg inflating: Food-101-Annotated/samosa/3397617.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3397617.jpg inflating: Food-101-Annotated/samosa/2605136.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2605136.jpg inflating: Food-101-Annotated/samosa/1170314.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1170314.jpg inflating: Food-101-Annotated/samosa/1083263.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1083263.jpg inflating: Food-101-Annotated/samosa/918899.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._918899.jpg inflating: Food-101-Annotated/samosa/1917898.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1917898.jpg inflating: Food-101-Annotated/samosa/1416302.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1416302.jpg inflating: Food-101-Annotated/samosa/2095432.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2095432.jpg inflating: Food-101-Annotated/samosa/3436247.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3436247.jpg inflating: Food-101-Annotated/samosa/862501.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._862501.jpg inflating: Food-101-Annotated/samosa/1526228.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1526228.jpg inflating: Food-101-Annotated/samosa/3604106.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3604106.jpg inflating: Food-101-Annotated/samosa/2129469.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2129469.jpg inflating: Food-101-Annotated/samosa/674960.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._674960.jpg inflating: Food-101-Annotated/samosa/672929.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._672929.jpg inflating: Food-101-Annotated/samosa/704897.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._704897.jpg inflating: Food-101-Annotated/samosa/942933.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._942933.jpg inflating: Food-101-Annotated/samosa/1939527.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1939527.jpg inflating: Food-101-Annotated/samosa/328693.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._328693.jpg inflating: Food-101-Annotated/samosa/1249361.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1249361.jpg inflating: Food-101-Annotated/samosa/1750149.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1750149.jpg inflating: Food-101-Annotated/samosa/68911.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._68911.jpg inflating: Food-101-Annotated/samosa/1539989.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1539989.jpg inflating: Food-101-Annotated/samosa/1460553.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1460553.jpg inflating: Food-101-Annotated/samosa/1751695.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1751695.jpg inflating: Food-101-Annotated/samosa/2855237.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2855237.jpg inflating: Food-101-Annotated/samosa/1444587.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1444587.jpg inflating: Food-101-Annotated/samosa/3470729.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3470729.jpg inflating: Food-101-Annotated/samosa/261040.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._261040.jpg inflating: Food-101-Annotated/samosa/62383.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._62383.jpg inflating: Food-101-Annotated/samosa/2348924.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._2348924.jpg inflating: Food-101-Annotated/samosa/3882056.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._3882056.jpg inflating: Food-101-Annotated/samosa/1499692.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._1499692.jpg inflating: Food-101-Annotated/samosa/406322.jpg inflating: __MACOSX/Food-101-Annotated/samosa/._406322.jpg inflating: Food-101-Annotated/onion_ring/192753.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._192753.jpg inflating: Food-101-Annotated/onion_ring/3578344.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3578344.jpg inflating: Food-101-Annotated/onion_ring/1128896.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._1128896.jpg inflating: Food-101-Annotated/onion_ring/933681.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._933681.jpg inflating: Food-101-Annotated/onion_ring/2808504.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2808504.jpg inflating: Food-101-Annotated/onion_ring/1683330.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._1683330.jpg inflating: Food-101-Annotated/onion_ring/2212599.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2212599.jpg inflating: Food-101-Annotated/onion_ring/801386.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._801386.jpg inflating: Food-101-Annotated/onion_ring/1620661.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._1620661.jpg inflating: Food-101-Annotated/onion_ring/437727.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._437727.jpg inflating: Food-101-Annotated/onion_ring/82479.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._82479.jpg inflating: Food-101-Annotated/onion_ring/2135266.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2135266.jpg inflating: Food-101-Annotated/onion_ring/1836694.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._1836694.jpg inflating: Food-101-Annotated/onion_ring/2857672.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2857672.jpg inflating: Food-101-Annotated/onion_ring/1752491.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._1752491.jpg inflating: Food-101-Annotated/onion_ring/1466149.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._1466149.jpg inflating: Food-101-Annotated/onion_ring/2561175.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2561175.jpg inflating: Food-101-Annotated/onion_ring/3225322.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3225322.jpg inflating: Food-101-Annotated/onion_ring/852347.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._852347.jpg inflating: Food-101-Annotated/onion_ring/3748254.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3748254.jpg inflating: Food-101-Annotated/onion_ring/2437711.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2437711.jpg inflating: Food-101-Annotated/onion_ring/2959045.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2959045.jpg inflating: Food-101-Annotated/onion_ring/3324385.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3324385.jpg inflating: Food-101-Annotated/onion_ring/382380.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._382380.jpg inflating: Food-101-Annotated/onion_ring/3783332.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3783332.jpg inflating: Food-101-Annotated/onion_ring/784882.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._784882.jpg inflating: Food-101-Annotated/onion_ring/2411104.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2411104.jpg inflating: Food-101-Annotated/onion_ring/3830118.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3830118.jpg inflating: Food-101-Annotated/onion_ring/944880.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._944880.jpg inflating: Food-101-Annotated/onion_ring/3260503.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3260503.jpg inflating: Food-101-Annotated/onion_ring/3629928.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3629928.jpg inflating: Food-101-Annotated/onion_ring/1874873.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._1874873.jpg inflating: Food-101-Annotated/onion_ring/2527908.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2527908.jpg inflating: Food-101-Annotated/onion_ring/3021096.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3021096.jpg inflating: Food-101-Annotated/onion_ring/54685.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._54685.jpg inflating: Food-101-Annotated/onion_ring/2463146.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2463146.jpg inflating: Food-101-Annotated/onion_ring/538182.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._538182.jpg inflating: Food-101-Annotated/onion_ring/2315039.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2315039.jpg inflating: Food-101-Annotated/onion_ring/546460.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._546460.jpg inflating: Food-101-Annotated/onion_ring/920620.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._920620.jpg inflating: Food-101-Annotated/onion_ring/3715093.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3715093.jpg inflating: Food-101-Annotated/onion_ring/3547368.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3547368.jpg inflating: Food-101-Annotated/onion_ring/781621.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._781621.jpg inflating: Food-101-Annotated/onion_ring/1408748.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._1408748.jpg inflating: Food-101-Annotated/onion_ring/3352070.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._3352070.jpg inflating: Food-101-Annotated/onion_ring/177511.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._177511.jpg inflating: Food-101-Annotated/onion_ring/2829934.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._2829934.jpg inflating: Food-101-Annotated/onion_ring/769992.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._769992.jpg inflating: Food-101-Annotated/onion_ring/500381.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._500381.jpg inflating: Food-101-Annotated/onion_ring/1850769.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._1850769.jpg inflating: Food-101-Annotated/onion_ring/1511961.jpg inflating: __MACOSX/Food-101-Annotated/onion_ring/._1511961.jpg inflating: Food-101-Annotated/strawberry_shortcake/3705276.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._3705276.jpg inflating: Food-101-Annotated/strawberry_shortcake/57863.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._57863.jpg inflating: Food-101-Annotated/strawberry_shortcake/16590.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._16590.jpg inflating: Food-101-Annotated/strawberry_shortcake/977955.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._977955.jpg inflating: Food-101-Annotated/strawberry_shortcake/1031243.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1031243.jpg inflating: Food-101-Annotated/strawberry_shortcake/2327490.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._2327490.jpg inflating: Food-101-Annotated/strawberry_shortcake/2808886.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._2808886.jpg inflating: Food-101-Annotated/strawberry_shortcake/3916946.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._3916946.jpg inflating: Food-101-Annotated/strawberry_shortcake/97738.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._97738.jpg inflating: Food-101-Annotated/strawberry_shortcake/3430071.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._3430071.jpg inflating: Food-101-Annotated/strawberry_shortcake/80669.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._80669.jpg inflating: Food-101-Annotated/strawberry_shortcake/1195849.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1195849.jpg inflating: Food-101-Annotated/strawberry_shortcake/2965819.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._2965819.jpg inflating: Food-101-Annotated/strawberry_shortcake/101165.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._101165.jpg inflating: Food-101-Annotated/strawberry_shortcake/3690192.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._3690192.jpg inflating: Food-101-Annotated/strawberry_shortcake/2561373.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._2561373.jpg inflating: Food-101-Annotated/strawberry_shortcake/3843129.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._3843129.jpg inflating: Food-101-Annotated/strawberry_shortcake/1848361.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1848361.jpg inflating: Food-101-Annotated/strawberry_shortcake/463111.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._463111.jpg inflating: Food-101-Annotated/strawberry_shortcake/1311207.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1311207.jpg inflating: Food-101-Annotated/strawberry_shortcake/1916999.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1916999.jpg inflating: Food-101-Annotated/strawberry_shortcake/1882254.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1882254.jpg inflating: Food-101-Annotated/strawberry_shortcake/2226679.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._2226679.jpg inflating: Food-101-Annotated/strawberry_shortcake/3729912.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._3729912.jpg inflating: Food-101-Annotated/strawberry_shortcake/1881023.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1881023.jpg inflating: Food-101-Annotated/strawberry_shortcake/1866686.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1866686.jpg inflating: Food-101-Annotated/strawberry_shortcake/724604.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._724604.jpg inflating: Food-101-Annotated/strawberry_shortcake/713321.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._713321.jpg inflating: Food-101-Annotated/strawberry_shortcake/263151.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._263151.jpg inflating: Food-101-Annotated/strawberry_shortcake/3379442.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._3379442.jpg inflating: Food-101-Annotated/strawberry_shortcake/702201.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._702201.jpg inflating: Food-101-Annotated/strawberry_shortcake/3789427.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._3789427.jpg inflating: Food-101-Annotated/strawberry_shortcake/57777.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._57777.jpg inflating: Food-101-Annotated/strawberry_shortcake/1845065.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1845065.jpg inflating: Food-101-Annotated/strawberry_shortcake/1342090.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1342090.jpg inflating: Food-101-Annotated/strawberry_shortcake/3346370.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._3346370.jpg inflating: Food-101-Annotated/strawberry_shortcake/1758516.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1758516.jpg inflating: Food-101-Annotated/strawberry_shortcake/873051.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._873051.jpg inflating: Food-101-Annotated/strawberry_shortcake/2745798.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._2745798.jpg inflating: Food-101-Annotated/strawberry_shortcake/163206.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._163206.jpg inflating: Food-101-Annotated/strawberry_shortcake/730404.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._730404.jpg inflating: Food-101-Annotated/strawberry_shortcake/2856465.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._2856465.jpg inflating: Food-101-Annotated/strawberry_shortcake/3541054.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._3541054.jpg inflating: Food-101-Annotated/strawberry_shortcake/1640574.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1640574.jpg inflating: Food-101-Annotated/strawberry_shortcake/1957762.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1957762.jpg inflating: Food-101-Annotated/strawberry_shortcake/1568443.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._1568443.jpg inflating: Food-101-Annotated/strawberry_shortcake/683408.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._683408.jpg inflating: Food-101-Annotated/strawberry_shortcake/3835788.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._3835788.jpg inflating: Food-101-Annotated/strawberry_shortcake/2180049.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._2180049.jpg inflating: Food-101-Annotated/strawberry_shortcake/953437.jpg inflating: __MACOSX/Food-101-Annotated/strawberry_shortcake/._953437.jpg inflating: Food-101-Annotated/waffle/1865250.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1865250.jpg inflating: Food-101-Annotated/waffle/1564248.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1564248.jpg inflating: Food-101-Annotated/waffle/70789.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._70789.jpg inflating: Food-101-Annotated/waffle/2131845.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._2131845.jpg inflating: Food-101-Annotated/waffle/96181.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._96181.jpg inflating: Food-101-Annotated/waffle/903753.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._903753.jpg inflating: Food-101-Annotated/waffle/3308951.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._3308951.jpg inflating: Food-101-Annotated/waffle/1775307.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1775307.jpg inflating: Food-101-Annotated/waffle/1852612.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1852612.jpg inflating: Food-101-Annotated/waffle/3189212.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._3189212.jpg inflating: Food-101-Annotated/waffle/3872190.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._3872190.jpg inflating: Food-101-Annotated/waffle/520878.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._520878.jpg inflating: Food-101-Annotated/waffle/2389143.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._2389143.jpg inflating: Food-101-Annotated/waffle/1397605.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1397605.jpg inflating: Food-101-Annotated/waffle/2177928.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._2177928.jpg inflating: Food-101-Annotated/waffle/910563.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._910563.jpg inflating: Food-101-Annotated/waffle/3460768.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._3460768.jpg inflating: Food-101-Annotated/waffle/30536.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._30536.jpg inflating: Food-101-Annotated/waffle/76239.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._76239.jpg inflating: Food-101-Annotated/waffle/452045.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._452045.jpg inflating: Food-101-Annotated/waffle/1509171.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1509171.jpg inflating: Food-101-Annotated/waffle/712973.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._712973.jpg inflating: Food-101-Annotated/waffle/2139248.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._2139248.jpg inflating: Food-101-Annotated/waffle/2999331.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._2999331.jpg inflating: Food-101-Annotated/waffle/2873703.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._2873703.jpg inflating: Food-101-Annotated/waffle/2392474.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._2392474.jpg inflating: Food-101-Annotated/waffle/1245873.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1245873.jpg inflating: Food-101-Annotated/waffle/119316.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._119316.jpg inflating: Food-101-Annotated/waffle/88648.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._88648.jpg inflating: Food-101-Annotated/waffle/2058733.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._2058733.jpg inflating: Food-101-Annotated/waffle/708688.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._708688.jpg inflating: Food-101-Annotated/waffle/1595187.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1595187.jpg inflating: Food-101-Annotated/waffle/3260936.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._3260936.jpg inflating: Food-101-Annotated/waffle/1698568.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1698568.jpg inflating: Food-101-Annotated/waffle/789971.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._789971.jpg inflating: Food-101-Annotated/waffle/2267408.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._2267408.jpg inflating: Food-101-Annotated/waffle/1716839.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1716839.jpg inflating: Food-101-Annotated/waffle/12160.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._12160.jpg inflating: Food-101-Annotated/waffle/3014576.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._3014576.jpg inflating: Food-101-Annotated/waffle/654779.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._654779.jpg inflating: Food-101-Annotated/waffle/2135581.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._2135581.jpg inflating: Food-101-Annotated/waffle/1231392.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1231392.jpg inflating: Food-101-Annotated/waffle/3402541.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._3402541.jpg inflating: Food-101-Annotated/waffle/863723.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._863723.jpg inflating: Food-101-Annotated/waffle/1462386.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1462386.jpg inflating: Food-101-Annotated/waffle/3598283.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._3598283.jpg inflating: Food-101-Annotated/waffle/3091708.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._3091708.jpg inflating: Food-101-Annotated/waffle/1303736.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._1303736.jpg inflating: Food-101-Annotated/waffle/41942.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._41942.jpg inflating: Food-101-Annotated/waffle/2364175.jpg inflating: __MACOSX/Food-101-Annotated/waffle/._2364175.jpg inflating: Food-101-Annotated/chocolate_cake/108268.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._108268.jpg inflating: Food-101-Annotated/chocolate_cake/683202.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._683202.jpg inflating: Food-101-Annotated/chocolate_cake/3125883.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3125883.jpg inflating: Food-101-Annotated/chocolate_cake/568408.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._568408.jpg inflating: Food-101-Annotated/chocolate_cake/2547504.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._2547504.jpg inflating: Food-101-Annotated/chocolate_cake/3555773.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3555773.jpg inflating: Food-101-Annotated/chocolate_cake/1426052.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._1426052.jpg inflating: Food-101-Annotated/chocolate_cake/1393886.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._1393886.jpg inflating: Food-101-Annotated/chocolate_cake/3722155.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3722155.jpg inflating: Food-101-Annotated/chocolate_cake/1672668.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._1672668.jpg inflating: Food-101-Annotated/chocolate_cake/3102746.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3102746.jpg inflating: Food-101-Annotated/chocolate_cake/1074446.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._1074446.jpg inflating: Food-101-Annotated/chocolate_cake/314103.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._314103.jpg inflating: Food-101-Annotated/chocolate_cake/3493807.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3493807.jpg inflating: Food-101-Annotated/chocolate_cake/2408310.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._2408310.jpg inflating: Food-101-Annotated/chocolate_cake/2216361.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._2216361.jpg inflating: Food-101-Annotated/chocolate_cake/391530.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._391530.jpg inflating: Food-101-Annotated/chocolate_cake/3246292.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3246292.jpg inflating: Food-101-Annotated/chocolate_cake/543149.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._543149.jpg inflating: Food-101-Annotated/chocolate_cake/1864488.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._1864488.jpg inflating: Food-101-Annotated/chocolate_cake/2728721.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._2728721.jpg inflating: Food-101-Annotated/chocolate_cake/1012759.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._1012759.jpg inflating: Food-101-Annotated/chocolate_cake/440860.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._440860.jpg inflating: Food-101-Annotated/chocolate_cake/3558621.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3558621.jpg inflating: Food-101-Annotated/chocolate_cake/662729.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._662729.jpg inflating: Food-101-Annotated/chocolate_cake/2933079.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._2933079.jpg inflating: Food-101-Annotated/chocolate_cake/821815.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._821815.jpg inflating: Food-101-Annotated/chocolate_cake/929332.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._929332.jpg inflating: Food-101-Annotated/chocolate_cake/3515934.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3515934.jpg inflating: Food-101-Annotated/chocolate_cake/1363933.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._1363933.jpg inflating: Food-101-Annotated/chocolate_cake/3152730.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3152730.jpg inflating: Food-101-Annotated/chocolate_cake/554548.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._554548.jpg inflating: Food-101-Annotated/chocolate_cake/2437841.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._2437841.jpg inflating: Food-101-Annotated/chocolate_cake/2326455.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._2326455.jpg inflating: Food-101-Annotated/chocolate_cake/333377.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._333377.jpg inflating: Food-101-Annotated/chocolate_cake/2432478.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._2432478.jpg inflating: Food-101-Annotated/chocolate_cake/3440460.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3440460.jpg inflating: Food-101-Annotated/chocolate_cake/1395253.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._1395253.jpg inflating: Food-101-Annotated/chocolate_cake/1779025.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._1779025.jpg inflating: Food-101-Annotated/chocolate_cake/1747450.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._1747450.jpg inflating: Food-101-Annotated/chocolate_cake/3047338.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3047338.jpg inflating: Food-101-Annotated/chocolate_cake/3514876.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3514876.jpg inflating: Food-101-Annotated/chocolate_cake/2721988.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._2721988.jpg inflating: Food-101-Annotated/chocolate_cake/2331005.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._2331005.jpg inflating: Food-101-Annotated/chocolate_cake/3832397.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3832397.jpg inflating: Food-101-Annotated/chocolate_cake/397896.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._397896.jpg inflating: Food-101-Annotated/chocolate_cake/3380282.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3380282.jpg inflating: Food-101-Annotated/chocolate_cake/2016214.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._2016214.jpg inflating: Food-101-Annotated/chocolate_cake/1240545.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._1240545.jpg inflating: Food-101-Annotated/chocolate_cake/615682.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._615682.jpg inflating: Food-101-Annotated/chocolate_cake/3581921.jpg inflating: __MACOSX/Food-101-Annotated/chocolate_cake/._3581921.jpg inflating: Food-101-Annotated/tacos/73043.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._73043.jpg inflating: Food-101-Annotated/tacos/20787.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._20787.jpg inflating: Food-101-Annotated/tacos/476796.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._476796.jpg inflating: Food-101-Annotated/tacos/6229.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._6229.jpg inflating: Food-101-Annotated/tacos/63928.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._63928.jpg inflating: Food-101-Annotated/tacos/17688.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._17688.jpg inflating: Food-101-Annotated/tacos/123968.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._123968.jpg inflating: Food-101-Annotated/tacos/36081.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._36081.jpg inflating: Food-101-Annotated/tacos/144852.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._144852.jpg inflating: Food-101-Annotated/tacos/616584.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._616584.jpg inflating: Food-101-Annotated/tacos/48840.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._48840.jpg inflating: Food-101-Annotated/tacos/45035.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._45035.jpg inflating: Food-101-Annotated/tacos/17969.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._17969.jpg inflating: Food-101-Annotated/tacos/448340.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._448340.jpg inflating: Food-101-Annotated/tacos/87767.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._87767.jpg inflating: Food-101-Annotated/tacos/48506.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._48506.jpg inflating: Food-101-Annotated/tacos/49803.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._49803.jpg inflating: Food-101-Annotated/tacos/74573.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._74573.jpg inflating: Food-101-Annotated/tacos/20532.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._20532.jpg inflating: Food-101-Annotated/tacos/83935.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._83935.jpg inflating: Food-101-Annotated/tacos/58856.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._58856.jpg inflating: Food-101-Annotated/tacos/20087.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._20087.jpg inflating: Food-101-Annotated/tacos/5813.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._5813.jpg inflating: Food-101-Annotated/tacos/128139.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._128139.jpg inflating: Food-101-Annotated/tacos/125623.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._125623.jpg inflating: Food-101-Annotated/tacos/60069.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._60069.jpg inflating: Food-101-Annotated/tacos/46246.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._46246.jpg inflating: Food-101-Annotated/tacos/127545.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._127545.jpg inflating: Food-101-Annotated/tacos/54252.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._54252.jpg inflating: Food-101-Annotated/tacos/56337.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._56337.jpg inflating: Food-101-Annotated/tacos/121283.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._121283.jpg inflating: Food-101-Annotated/tacos/131906.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._131906.jpg inflating: Food-101-Annotated/tacos/2030.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._2030.jpg inflating: Food-101-Annotated/tacos/27330.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._27330.jpg inflating: Food-101-Annotated/tacos/470015.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._470015.jpg inflating: Food-101-Annotated/tacos/54685.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._54685.jpg inflating: Food-101-Annotated/tacos/108945.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._108945.jpg inflating: Food-101-Annotated/tacos/122809.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._122809.jpg inflating: Food-101-Annotated/tacos/91964.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._91964.jpg inflating: Food-101-Annotated/tacos/63099.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._63099.jpg inflating: Food-101-Annotated/tacos/44578.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._44578.jpg inflating: Food-101-Annotated/tacos/24844.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._24844.jpg inflating: Food-101-Annotated/tacos/108529.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._108529.jpg inflating: Food-101-Annotated/tacos/85137.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._85137.jpg inflating: Food-101-Annotated/tacos/8350.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._8350.jpg inflating: Food-101-Annotated/tacos/21440.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._21440.jpg inflating: Food-101-Annotated/tacos/25784.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._25784.jpg inflating: Food-101-Annotated/tacos/132307.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._132307.jpg inflating: Food-101-Annotated/tacos/80931.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._80931.jpg inflating: Food-101-Annotated/tacos/26489.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._26489.jpg inflating: Food-101-Annotated/tacos/53758.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._53758.jpg inflating: Food-101-Annotated/tacos/75990.jpg inflating: __MACOSX/Food-101-Annotated/tacos/._75990.jpg inflating: Food-101-Annotated/pizza/384215.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._384215.jpg inflating: Food-101-Annotated/pizza/89892.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._89892.jpg inflating: Food-101-Annotated/pizza/1499661.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1499661.jpg inflating: Food-101-Annotated/pizza/1325918.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1325918.jpg inflating: Food-101-Annotated/pizza/1504421.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1504421.jpg inflating: Food-101-Annotated/pizza/951953.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._951953.jpg inflating: Food-101-Annotated/pizza/63480.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._63480.jpg inflating: Food-101-Annotated/pizza/299535.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._299535.jpg inflating: Food-101-Annotated/pizza/1717790.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1717790.jpg inflating: Food-101-Annotated/pizza/614236.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._614236.jpg inflating: Food-101-Annotated/pizza/124815.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._124815.jpg inflating: Food-101-Annotated/pizza/3785667.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._3785667.jpg inflating: Food-101-Annotated/pizza/317861.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._317861.jpg inflating: Food-101-Annotated/pizza/1026922.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1026922.jpg inflating: Food-101-Annotated/pizza/966644.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._966644.jpg inflating: Food-101-Annotated/pizza/1898723.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1898723.jpg inflating: Food-101-Annotated/pizza/324942.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._324942.jpg inflating: Food-101-Annotated/pizza/168879.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._168879.jpg inflating: Food-101-Annotated/pizza/1289139.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1289139.jpg inflating: Food-101-Annotated/pizza/34632.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._34632.jpg inflating: Food-101-Annotated/pizza/212995.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._212995.jpg inflating: Food-101-Annotated/pizza/3822139.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._3822139.jpg inflating: Food-101-Annotated/pizza/148765.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._148765.jpg inflating: Food-101-Annotated/pizza/899959.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._899959.jpg inflating: Food-101-Annotated/pizza/741491.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._741491.jpg inflating: Food-101-Annotated/pizza/83538.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._83538.jpg inflating: Food-101-Annotated/pizza/1897129.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1897129.jpg inflating: Food-101-Annotated/pizza/2811032.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._2811032.jpg inflating: Food-101-Annotated/pizza/514014.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._514014.jpg inflating: Food-101-Annotated/pizza/1836888.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1836888.jpg inflating: Food-101-Annotated/pizza/2760984.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._2760984.jpg inflating: Food-101-Annotated/pizza/1600705.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1600705.jpg inflating: Food-101-Annotated/pizza/896448.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._896448.jpg inflating: Food-101-Annotated/pizza/1183278.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1183278.jpg inflating: Food-101-Annotated/pizza/56449.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._56449.jpg inflating: Food-101-Annotated/pizza/300157.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._300157.jpg inflating: Food-101-Annotated/pizza/741883.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._741883.jpg inflating: Food-101-Annotated/pizza/1084888.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1084888.jpg inflating: Food-101-Annotated/pizza/2003290.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._2003290.jpg inflating: Food-101-Annotated/pizza/228778.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._228778.jpg inflating: Food-101-Annotated/pizza/702165.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._702165.jpg inflating: Food-101-Annotated/pizza/723745.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._723745.jpg inflating: Food-101-Annotated/pizza/1991586.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1991586.jpg inflating: Food-101-Annotated/pizza/1507019.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1507019.jpg inflating: Food-101-Annotated/pizza/89197.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._89197.jpg inflating: Food-101-Annotated/pizza/1065078.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1065078.jpg inflating: Food-101-Annotated/pizza/105910.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._105910.jpg inflating: Food-101-Annotated/pizza/3264148.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._3264148.jpg inflating: Food-101-Annotated/pizza/3337370.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._3337370.jpg inflating: Food-101-Annotated/pizza/1899785.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1899785.jpg inflating: Food-101-Annotated/pizza/93961.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._93961.jpg inflating: Food-101-Annotated/pizza/3333459.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._3333459.jpg inflating: Food-101-Annotated/pizza/53217.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._53217.jpg inflating: Food-101-Annotated/pizza/1011404.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1011404.jpg inflating: Food-101-Annotated/pizza/1137400.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1137400.jpg inflating: Food-101-Annotated/pizza/1915343.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._1915343.jpg inflating: Food-101-Annotated/pizza/2478048.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._2478048.jpg inflating: Food-101-Annotated/pizza/141507.jpg inflating: __MACOSX/Food-101-Annotated/pizza/._141507.jpg inflating: Food-101-Annotated/nachos/3122653.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3122653.jpg inflating: Food-101-Annotated/nachos/612532.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._612532.jpg inflating: Food-101-Annotated/nachos/99076.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._99076.jpg inflating: Food-101-Annotated/nachos/175246.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._175246.jpg inflating: Food-101-Annotated/nachos/549614.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._549614.jpg inflating: Food-101-Annotated/nachos/683991.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._683991.jpg inflating: Food-101-Annotated/nachos/144852.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._144852.jpg inflating: Food-101-Annotated/nachos/1754283.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._1754283.jpg inflating: Food-101-Annotated/nachos/1970937.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._1970937.jpg inflating: Food-101-Annotated/nachos/1232631.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._1232631.jpg inflating: Food-101-Annotated/nachos/900389.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._900389.jpg inflating: Food-101-Annotated/nachos/54529.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._54529.jpg inflating: Food-101-Annotated/nachos/699010.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._699010.jpg inflating: Food-101-Annotated/nachos/2434560.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._2434560.jpg inflating: Food-101-Annotated/nachos/3778410.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3778410.jpg inflating: Food-101-Annotated/nachos/239290.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._239290.jpg inflating: Food-101-Annotated/nachos/774749.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._774749.jpg inflating: Food-101-Annotated/nachos/1622013.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._1622013.jpg inflating: Food-101-Annotated/nachos/1577096.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._1577096.jpg inflating: Food-101-Annotated/nachos/3259984.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3259984.jpg inflating: Food-101-Annotated/nachos/2715265.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._2715265.jpg inflating: Food-101-Annotated/nachos/1068026.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._1068026.jpg inflating: Food-101-Annotated/nachos/3714861.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3714861.jpg inflating: Food-101-Annotated/nachos/208464.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._208464.jpg inflating: Food-101-Annotated/nachos/1075843.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._1075843.jpg inflating: Food-101-Annotated/nachos/3492539.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3492539.jpg inflating: Food-101-Annotated/nachos/3644462.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3644462.jpg inflating: Food-101-Annotated/nachos/288930.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._288930.jpg inflating: Food-101-Annotated/nachos/1149411.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._1149411.jpg inflating: Food-101-Annotated/nachos/1381155.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._1381155.jpg inflating: Food-101-Annotated/nachos/3266015.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3266015.jpg inflating: Food-101-Annotated/nachos/3161098.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3161098.jpg inflating: Food-101-Annotated/nachos/54252.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._54252.jpg inflating: Food-101-Annotated/nachos/3817438.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3817438.jpg inflating: Food-101-Annotated/nachos/500252.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._500252.jpg inflating: Food-101-Annotated/nachos/376174.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._376174.jpg inflating: Food-101-Annotated/nachos/3273369.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3273369.jpg inflating: Food-101-Annotated/nachos/2647506.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._2647506.jpg inflating: Food-101-Annotated/nachos/3115939.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3115939.jpg inflating: Food-101-Annotated/nachos/932678.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._932678.jpg inflating: Food-101-Annotated/nachos/787394.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._787394.jpg inflating: Food-101-Annotated/nachos/1890869.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._1890869.jpg inflating: Food-101-Annotated/nachos/225270.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._225270.jpg inflating: Food-101-Annotated/nachos/2847727.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._2847727.jpg inflating: Food-101-Annotated/nachos/450661.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._450661.jpg inflating: Food-101-Annotated/nachos/3471051.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._3471051.jpg inflating: Food-101-Annotated/nachos/209662.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._209662.jpg inflating: Food-101-Annotated/nachos/462516.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._462516.jpg inflating: Food-101-Annotated/nachos/2704460.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._2704460.jpg inflating: Food-101-Annotated/nachos/313978.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._313978.jpg inflating: Food-101-Annotated/nachos/2616112.jpg inflating: __MACOSX/Food-101-Annotated/nachos/._2616112.jpg inflating: Food-101-Annotated/french_fries/2907806.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2907806.jpg inflating: Food-101-Annotated/french_fries/2680169.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2680169.jpg inflating: Food-101-Annotated/french_fries/494329.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._494329.jpg inflating: Food-101-Annotated/french_fries/2056007.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2056007.jpg inflating: Food-101-Annotated/french_fries/1767923.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1767923.jpg inflating: Food-101-Annotated/french_fries/2550720.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2550720.jpg inflating: Food-101-Annotated/french_fries/1384733.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1384733.jpg inflating: Food-101-Annotated/french_fries/1531073.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1531073.jpg inflating: Food-101-Annotated/french_fries/109401.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._109401.jpg inflating: Food-101-Annotated/french_fries/2677445.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2677445.jpg inflating: Food-101-Annotated/french_fries/3377570.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._3377570.jpg inflating: Food-101-Annotated/french_fries/348356.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._348356.jpg inflating: Food-101-Annotated/french_fries/3049746.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._3049746.jpg inflating: Food-101-Annotated/french_fries/3345305.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._3345305.jpg inflating: Food-101-Annotated/french_fries/370151.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._370151.jpg inflating: Food-101-Annotated/french_fries/338101.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._338101.jpg inflating: Food-101-Annotated/french_fries/3843922.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._3843922.jpg inflating: Food-101-Annotated/french_fries/1199754.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1199754.jpg inflating: Food-101-Annotated/french_fries/2315325.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2315325.jpg inflating: Food-101-Annotated/french_fries/2696740.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2696740.jpg inflating: Food-101-Annotated/french_fries/1703753.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1703753.jpg inflating: Food-101-Annotated/french_fries/828160.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._828160.jpg inflating: Food-101-Annotated/french_fries/2001882.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2001882.jpg inflating: Food-101-Annotated/french_fries/2015613.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2015613.jpg inflating: Food-101-Annotated/french_fries/3659782.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._3659782.jpg inflating: Food-101-Annotated/french_fries/2661646.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2661646.jpg inflating: Food-101-Annotated/french_fries/1937830.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1937830.jpg inflating: Food-101-Annotated/french_fries/3684873.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._3684873.jpg inflating: Food-101-Annotated/french_fries/2298765.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2298765.jpg inflating: Food-101-Annotated/french_fries/963995.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._963995.jpg inflating: Food-101-Annotated/french_fries/2331134.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2331134.jpg inflating: Food-101-Annotated/french_fries/2029107.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2029107.jpg inflating: Food-101-Annotated/french_fries/2371507.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2371507.jpg inflating: Food-101-Annotated/french_fries/904510.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._904510.jpg inflating: Food-101-Annotated/french_fries/1080215.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1080215.jpg inflating: Food-101-Annotated/french_fries/3167615.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._3167615.jpg inflating: Food-101-Annotated/french_fries/607021.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._607021.jpg inflating: Food-101-Annotated/french_fries/177372.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._177372.jpg inflating: Food-101-Annotated/french_fries/1987068.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1987068.jpg inflating: Food-101-Annotated/french_fries/2958833.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2958833.jpg inflating: Food-101-Annotated/french_fries/1740113.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1740113.jpg inflating: Food-101-Annotated/french_fries/2314805.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2314805.jpg inflating: Food-101-Annotated/french_fries/2195192.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2195192.jpg inflating: Food-101-Annotated/french_fries/1692647.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1692647.jpg inflating: Food-101-Annotated/french_fries/2004116.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2004116.jpg inflating: Food-101-Annotated/french_fries/584234.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._584234.jpg inflating: Food-101-Annotated/french_fries/374001.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._374001.jpg inflating: Food-101-Annotated/french_fries/531883.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._531883.jpg inflating: Food-101-Annotated/french_fries/1694219.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1694219.jpg inflating: Food-101-Annotated/french_fries/2077845.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2077845.jpg inflating: Food-101-Annotated/french_fries/2661893.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2661893.jpg inflating: Food-101-Annotated/french_fries/143158.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._143158.jpg inflating: Food-101-Annotated/french_fries/2335210.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2335210.jpg inflating: Food-101-Annotated/french_fries/2472499.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2472499.jpg inflating: Food-101-Annotated/french_fries/3405511.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._3405511.jpg inflating: Food-101-Annotated/french_fries/1552191.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1552191.jpg inflating: Food-101-Annotated/french_fries/566728.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._566728.jpg inflating: Food-101-Annotated/french_fries/1700344.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1700344.jpg inflating: Food-101-Annotated/french_fries/2229500.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2229500.jpg inflating: Food-101-Annotated/french_fries/375233.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._375233.jpg inflating: Food-101-Annotated/french_fries/2275484.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2275484.jpg inflating: Food-101-Annotated/french_fries/2008616.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2008616.jpg inflating: Food-101-Annotated/french_fries/3223529.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._3223529.jpg inflating: Food-101-Annotated/french_fries/2699989.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2699989.jpg inflating: Food-101-Annotated/french_fries/1099260.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1099260.jpg inflating: Food-101-Annotated/french_fries/353437.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._353437.jpg inflating: Food-101-Annotated/french_fries/2001959.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2001959.jpg inflating: Food-101-Annotated/french_fries/1369116.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1369116.jpg inflating: Food-101-Annotated/french_fries/1165966.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1165966.jpg inflating: Food-101-Annotated/french_fries/622359.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._622359.jpg inflating: Food-101-Annotated/french_fries/2371960.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2371960.jpg inflating: Food-101-Annotated/french_fries/1370900.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1370900.jpg inflating: Food-101-Annotated/french_fries/1150103.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1150103.jpg inflating: Food-101-Annotated/french_fries/557390.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._557390.jpg inflating: Food-101-Annotated/french_fries/3711232.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._3711232.jpg inflating: Food-101-Annotated/french_fries/2856271.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._2856271.jpg inflating: Food-101-Annotated/french_fries/1438129.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._1438129.jpg inflating: Food-101-Annotated/french_fries/3919465.jpg inflating: __MACOSX/Food-101-Annotated/french_fries/._3919465.jpg inflating: Food-101-Annotated/ice_cream/resized_images/85514.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._85514.jpg inflating: Food-101-Annotated/ice_cream/resized_images/621259.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._621259.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1921412.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1921412.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1176281.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1176281.jpg inflating: Food-101-Annotated/ice_cream/resized_images/3465698.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._3465698.jpg inflating: Food-101-Annotated/ice_cream/resized_images/2005850.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._2005850.jpg inflating: Food-101-Annotated/ice_cream/resized_images/2311283.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._2311283.jpg inflating: Food-101-Annotated/ice_cream/resized_images/390886.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._390886.jpg inflating: Food-101-Annotated/ice_cream/resized_images/649653.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._649653.jpg inflating: Food-101-Annotated/ice_cream/resized_images/2862530.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._2862530.jpg inflating: Food-101-Annotated/ice_cream/resized_images/596317.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._596317.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1961230.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1961230.jpg inflating: Food-101-Annotated/ice_cream/resized_images/2752957.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._2752957.jpg inflating: Food-101-Annotated/ice_cream/resized_images/3323080.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._3323080.jpg inflating: Food-101-Annotated/ice_cream/resized_images/995145.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._995145.jpg inflating: Food-101-Annotated/ice_cream/resized_images/510048.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._510048.jpg inflating: Food-101-Annotated/ice_cream/resized_images/660729.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._660729.jpg inflating: Food-101-Annotated/ice_cream/resized_images/598638.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._598638.jpg inflating: Food-101-Annotated/ice_cream/resized_images/2985290.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._2985290.jpg inflating: Food-101-Annotated/ice_cream/resized_images/3384471.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._3384471.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1971651.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1971651.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1272987.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1272987.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1068026.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1068026.jpg inflating: Food-101-Annotated/ice_cream/resized_images/2139248.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._2139248.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1615718.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1615718.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1995311.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1995311.jpg inflating: Food-101-Annotated/ice_cream/resized_images/2289445.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._2289445.jpg inflating: Food-101-Annotated/ice_cream/resized_images/3518829.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._3518829.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1954378.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1954378.jpg inflating: Food-101-Annotated/ice_cream/resized_images/518018.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._518018.jpg inflating: Food-101-Annotated/ice_cream/resized_images/478897.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._478897.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1371104.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1371104.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1629364.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1629364.jpg inflating: Food-101-Annotated/ice_cream/resized_images/3758284.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._3758284.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1262551.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1262551.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1698568.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1698568.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1839769.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1839769.jpg inflating: Food-101-Annotated/ice_cream/resized_images/366955.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._366955.jpg inflating: Food-101-Annotated/ice_cream/resized_images/517105.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._517105.jpg inflating: Food-101-Annotated/ice_cream/resized_images/612548.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._612548.jpg inflating: Food-101-Annotated/ice_cream/resized_images/669677.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._669677.jpg inflating: Food-101-Annotated/ice_cream/resized_images/2948329.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._2948329.jpg inflating: Food-101-Annotated/ice_cream/resized_images/396427.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._396427.jpg inflating: Food-101-Annotated/ice_cream/resized_images/519403.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._519403.jpg inflating: Food-101-Annotated/ice_cream/resized_images/3838718.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._3838718.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1442308.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1442308.jpg inflating: Food-101-Annotated/ice_cream/resized_images/238730.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._238730.jpg inflating: Food-101-Annotated/ice_cream/resized_images/128941.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._128941.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1910824.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1910824.jpg inflating: Food-101-Annotated/ice_cream/resized_images/3380318.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._3380318.jpg inflating: Food-101-Annotated/ice_cream/resized_images/1303736.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._1303736.jpg inflating: Food-101-Annotated/ice_cream/resized_images/243829.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._243829.jpg inflating: Food-101-Annotated/ice_cream/resized_images/3693594.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._3693594.jpg inflating: Food-101-Annotated/ice_cream/resized_images/3228081.jpg inflating: __MACOSX/Food-101-Annotated/ice_cream/resized_images/._3228081.jpg inflating: Food-101-Annotated/samosa/resized_images/2302.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2302.jpg inflating: Food-101-Annotated/samosa/resized_images/1497664.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1497664.jpg inflating: Food-101-Annotated/samosa/resized_images/195766.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._195766.jpg inflating: Food-101-Annotated/samosa/resized_images/3478622.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3478622.jpg inflating: Food-101-Annotated/samosa/resized_images/2998894.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2998894.jpg inflating: Food-101-Annotated/samosa/resized_images/2778821.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2778821.jpg inflating: Food-101-Annotated/samosa/resized_images/663294.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._663294.jpg inflating: Food-101-Annotated/samosa/resized_images/1526132.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1526132.jpg inflating: Food-101-Annotated/samosa/resized_images/104322.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._104322.jpg inflating: Food-101-Annotated/samosa/resized_images/917040.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._917040.jpg inflating: Food-101-Annotated/samosa/resized_images/3803813.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3803813.jpg inflating: Food-101-Annotated/samosa/resized_images/1189287.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1189287.jpg inflating: Food-101-Annotated/samosa/resized_images/1449447.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1449447.jpg inflating: Food-101-Annotated/samosa/resized_images/15074.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._15074.jpg inflating: Food-101-Annotated/samosa/resized_images/1383505.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1383505.jpg inflating: Food-101-Annotated/samosa/resized_images/2703502.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2703502.jpg inflating: Food-101-Annotated/samosa/resized_images/331119.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._331119.jpg inflating: Food-101-Annotated/samosa/resized_images/1982708.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1982708.jpg inflating: Food-101-Annotated/samosa/resized_images/1453309.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1453309.jpg inflating: Food-101-Annotated/samosa/resized_images/3633981.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3633981.jpg inflating: Food-101-Annotated/samosa/resized_images/2802920.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2802920.jpg inflating: Food-101-Annotated/samosa/resized_images/924149.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._924149.jpg inflating: Food-101-Annotated/samosa/resized_images/3011172.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3011172.jpg inflating: Food-101-Annotated/samosa/resized_images/2189028.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2189028.jpg inflating: Food-101-Annotated/samosa/resized_images/3017105.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3017105.jpg inflating: Food-101-Annotated/samosa/resized_images/2373677.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2373677.jpg inflating: Food-101-Annotated/samosa/resized_images/2408934.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2408934.jpg inflating: Food-101-Annotated/samosa/resized_images/2040239.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2040239.jpg inflating: Food-101-Annotated/samosa/resized_images/3442040.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3442040.jpg inflating: Food-101-Annotated/samosa/resized_images/3921972.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3921972.jpg inflating: Food-101-Annotated/samosa/resized_images/1177448.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1177448.jpg inflating: Food-101-Annotated/samosa/resized_images/2117161.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2117161.jpg inflating: Food-101-Annotated/samosa/resized_images/2072483.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2072483.jpg inflating: Food-101-Annotated/samosa/resized_images/1191466.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1191466.jpg inflating: Food-101-Annotated/samosa/resized_images/1881590.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1881590.jpg inflating: Food-101-Annotated/samosa/resized_images/1239544.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1239544.jpg inflating: Food-101-Annotated/samosa/resized_images/6119.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._6119.jpg inflating: Food-101-Annotated/samosa/resized_images/3397617.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3397617.jpg inflating: Food-101-Annotated/samosa/resized_images/2605136.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2605136.jpg inflating: Food-101-Annotated/samosa/resized_images/1170314.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1170314.jpg inflating: Food-101-Annotated/samosa/resized_images/1083263.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1083263.jpg inflating: Food-101-Annotated/samosa/resized_images/918899.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._918899.jpg inflating: Food-101-Annotated/samosa/resized_images/1917898.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1917898.jpg inflating: Food-101-Annotated/samosa/resized_images/1416302.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1416302.jpg inflating: Food-101-Annotated/samosa/resized_images/2095432.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2095432.jpg inflating: Food-101-Annotated/samosa/resized_images/3436247.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3436247.jpg inflating: Food-101-Annotated/samosa/resized_images/862501.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._862501.jpg inflating: Food-101-Annotated/samosa/resized_images/1526228.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1526228.jpg inflating: Food-101-Annotated/samosa/resized_images/3604106.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3604106.jpg inflating: Food-101-Annotated/samosa/resized_images/2129469.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2129469.jpg inflating: Food-101-Annotated/samosa/resized_images/674960.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._674960.jpg inflating: Food-101-Annotated/samosa/resized_images/672929.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._672929.jpg inflating: Food-101-Annotated/samosa/resized_images/704897.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._704897.jpg inflating: Food-101-Annotated/samosa/resized_images/942933.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._942933.jpg inflating: Food-101-Annotated/samosa/resized_images/1939527.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1939527.jpg inflating: Food-101-Annotated/samosa/resized_images/328693.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._328693.jpg inflating: Food-101-Annotated/samosa/resized_images/1249361.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1249361.jpg inflating: Food-101-Annotated/samosa/resized_images/1750149.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1750149.jpg inflating: Food-101-Annotated/samosa/resized_images/68911.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._68911.jpg inflating: Food-101-Annotated/samosa/resized_images/1539989.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1539989.jpg inflating: Food-101-Annotated/samosa/resized_images/1460553.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1460553.jpg inflating: Food-101-Annotated/samosa/resized_images/1751695.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1751695.jpg inflating: Food-101-Annotated/samosa/resized_images/2855237.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2855237.jpg inflating: Food-101-Annotated/samosa/resized_images/1444587.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1444587.jpg inflating: Food-101-Annotated/samosa/resized_images/3470729.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3470729.jpg inflating: Food-101-Annotated/samosa/resized_images/261040.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._261040.jpg inflating: Food-101-Annotated/samosa/resized_images/62383.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._62383.jpg inflating: Food-101-Annotated/samosa/resized_images/2348924.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._2348924.jpg inflating: Food-101-Annotated/samosa/resized_images/3882056.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._3882056.jpg inflating: Food-101-Annotated/samosa/resized_images/1499692.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._1499692.jpg inflating: Food-101-Annotated/samosa/resized_images/406322.jpg inflating: __MACOSX/Food-101-Annotated/samosa/resized_images/._406322.jpg
# base path of annotated images
base_path='Food-101-Annotated/'
Helper Functions¶
def compute_iou(boxA, boxB):
'''
Compute Intersection over Union (IoU) between two bounding boxes.
Args:
boxA: List or tuple with 4 elements [x1, y1, x2, y2] for box A.
boxB: List or tuple with 4 elements [x1, y1, x2, y2] for box B.
Returns:
IoU value: A float between 0 and 1 representing overlap ratio.
'''
# Compute coordinates of the intersection rectangle
xA = max(boxA[0], boxB[0]) # Left
yA = max(boxA[1], boxB[1]) # Top
xB = min(boxA[2], boxB[2]) # Right
yB = min(boxA[3], boxB[3]) # Bottom
# Compute the area of intersection rectangle
inter = max(0, xB - xA) * max(0, yB - yA)
# Compute the area of both bounding boxes
boxAArea = (boxA[2] - boxA[0]) * (boxA[3] - boxA[1])
boxBArea = (boxB[2] - boxB[0]) * (boxB[3] - boxB[1])
# Compute IoU using the formula: intersection / union
iou = inter / float(boxAArea + boxBArea - inter + 1e-5)
return iou
def load_annotations_and_convert_yolo_bb(df, base_dir):
'''
Load bounding box annotations from a DataFrame and convert YOLO format to pixel coordinates.
Args:
df: Pandas DataFrame containing YOLO-format bounding boxes.
Expected columns: ['image_name', 'x_center', 'y_center', 'width', 'height', 'class_name']
base_dir: Base directory where image files are stored.
Returns:
boxes: Dictionary mapping image paths to a list of bounding boxes.
Each box is represented as [xmin, ymin, xmax, ymax, class_name]
'''
boxes = {}
# Iterate over each row (annotation) in the DataFrame
for _, row in df.iterrows():
image_path = os.path.join(base_dir, row['image_name'])
# Initialize list of boxes for this image if not already present
if image_path not in boxes:
boxes[image_path] = []
try:
# Open image to get width and height
image = Image.open(image_path)
w, h = image.size
except (FileNotFoundError, UnidentifiedImageError) as e:
continue # Skip this row if image is missing or unreadable
# Extract YOLO format bounding box: center_x, center_y, width, height (all relative)
xc, yc, bw, bh = row['x_center'], row['y_center'], row['width'], row['height']
# Convert YOLO format to pixel coordinates
xmin = int((xc - bw / 2) * w)
ymin = int((yc - bh / 2) * h)
xmax = int((xc + bw / 2) * w)
ymax = int((yc + bh / 2) * h)
# Append bounding box with class name to the dictionary
boxes[image_path].append([xmin, ymin, xmax, ymax, row['class_name']])
return boxes
def split_df_by_image_with_first_class(df, test_size=0.2, random_state=42):
'''
Split the DataFrame into stratified training and testing sets,
using the first class label associated with each unique image.
Args:
df: Pandas DataFrame containing at least 'image' and 'class_name' columns.
Can contain multiple rows per image if there are multiple annotations.
test_size: Proportion of the dataset to include in the test split.
random_state: Controls the shuffling applied to the data before splitting.
Returns:
train_df: Subset of original df used for training.
test_df: Subset of original df used for testing.
'''
# Extract the first occurrence of each image and its class label
image_classes = df.drop_duplicates('image')[['image', 'class_name']]
# Perform stratified split based on the first class label per image
train_images, test_images = train_test_split(
image_classes['image'], # only use unique images
test_size=test_size, # percentage for test split
random_state=random_state, # reproducibility
stratify=image_classes['class_name'] # ensure balanced class distribution
)
# Filter the original DataFrame to get training and test subsets
train_df = df[df['image'].isin(train_images)].reset_index(drop=True)
test_df = df[df['image'].isin(test_images)].reset_index(drop=True)
return train_df, test_df
def visualize_multiple_images(image_data_list, threshold=0.0, cols=3):
"""
image_data_list: list of tuples [(image_path, predictions, ground_truths), ...]
predictions: list of dicts with 'bbox', 'label', 'score'
ground_truths: list of [x1, y1, x2, y2, class_name]
"""
rows = (len(image_data_list) + cols - 1) // cols
fig, axs = plt.subplots(rows, cols, figsize=(3 * cols, 3 * rows))
# If only one row, axs will be 1D; flatten for uniformity
axs = axs.flatten() if isinstance(axs, np.ndarray) else [axs]
for idx, item in enumerate(image_data_list):
image_path, predictions, ground_truths = item['image_path'], item['predictions'], item['ground_truths']
ax = axs[idx]
image = plt.imread(image_path)
ax.imshow(image)
# Ground Truths in green
for gt in ground_truths:
x1, y1, x2, y2, cls = gt
rect = patches.Rectangle((x1, y1), x2 - x1, y2 - y1, linewidth=2, edgecolor='g', facecolor='none')
ax.text(x1, y1 - 5, f'{cls}', color='g', fontsize=8,
bbox=dict(facecolor='white', edgecolor='g', boxstyle='round,pad=0.2'))
ax.add_patch(rect)
# Predictions in red
for pred in predictions:
x1, y1, x2, y2 = pred["bbox"]
label = pred["label"]
score = pred.get("score", 1.0)
ious = [compute_iou([x1, y1, x2, y2], gt[:4]) for gt in ground_truths if gt[4] == label]
iou = max(ious) if ious else 0.0
if iou < threshold:
continue
rect = patches.Rectangle((x1, y1), x2 - x1, y2 - y1, linewidth=2, edgecolor='r', facecolor='none')
ax.text(x1, y1 - 5, f'{label} IoU: {iou:.2f}', color='r', fontsize=8,
bbox=dict(facecolor='white', edgecolor='r', boxstyle='round,pad=0.2'))
ax.add_patch(rect)
ax.set_title("Predicted(Red)+GT(Green) ")
ax.axis('off')
# Hide unused subplots
for i in range(len(image_data_list), len(axs)):
axs[i].axis('off')
plt.tight_layout()
plt.show()
from collections import defaultdict
import numpy as np
def evaluate_map(predictions_by_image, ground_truth_by_image, iou_threshold=0.5):
"""
Calculate mean Average Precision (mAP) across all classes.
Args:
predictions_by_image: dict of {image_path: list of predictions},
where each prediction = {'label', 'bbox', 'score'}
ground_truth_by_image: dict of {image_path: list of ground truths},
where each gt = [x1, y1, x2, y2, label]
iou_threshold: float, IoU threshold to consider a prediction as correct.
Returns:
mAP score (float), and per-class AP (dict)
"""
class_preds = defaultdict(list) # class -> list of (score, TP/FP)
class_gts = defaultdict(int) # class -> number of GT boxes
for image, gts in ground_truth_by_image.items():
gt_boxes = [gt[:4] for gt in gts]
gt_labels = [gt[4] for gt in gts]
matched = set()
for pred in sorted(predictions_by_image.get(image, []), key=lambda x: -x['score']):
pred_box = pred['bbox']
pred_label = pred['label']
best_iou, best_gt_idx = 0, -1
for i, (gt_box, gt_label) in enumerate(zip(gt_boxes, gt_labels)):
if i in matched or gt_label != pred_label:
continue
iou = compute_iou(pred_box, gt_box)
if iou > best_iou:
best_iou = iou
best_gt_idx = i
if best_iou >= iou_threshold:
matched.add(best_gt_idx)
class_preds[pred_label].append((pred['score'], 1)) # True Positive
else:
class_preds[pred_label].append((pred['score'], 0)) # False Positive
for label in gt_labels:
class_gts[label] += 1
ap_per_class = {}
for cls, preds in class_preds.items():
preds.sort(reverse=True)
tp = np.array([x[1] for x in preds])
fp = 1 - tp
cum_tp = np.cumsum(tp)
cum_fp = np.cumsum(fp)
precision = cum_tp / (cum_tp + cum_fp + 1e-6)
recall = cum_tp / (class_gts[cls] + 1e-6)
# Interpolated AP calculation
ap = 0.0
for t in np.linspace(0, 1, 11):
p = precision[recall >= t].max() if np.any(recall >= t) else 0
ap += p / 11
ap_per_class[cls] = ap
mAP = np.mean(list(ap_per_class.values())) if ap_per_class else 0.0
return mAP, ap_per_class
Train Test Split¶
# Create Annotation DF
annotation_df=pd.read_csv(f"{base_path}/annotation_refined.csv")
annotation_df['image_name']=annotation_df.apply(lambda row: f"{row['class_name']}/{row['image']}",axis=1)
Splitting dataset into train and test sets
- Uses
split_df_by_image_with_first_classto ensure stratified split based on class - 80% images used for training, 20% for testing
- Ensures that images with the same first class stay together in the same split
# Split data set by classname
train_df,test_df=split_df_by_image_with_first_class(annotation_df,test_size=0.2)
# print train test df
print(train_df.shape)
print(test_df.shape)
(870, 7) (220, 7)
Train and test DataFrame shape
- Training set shape: (870, 7)
- Testing set shape: (220, 7)
Each row represents a bounding box annotation.
This means the training set contains 870 annotations, and the test set contains 220.
RCNN¶
RCNN (Region-based Convolutional Neural Network)
- Uses Selective Search to generate around 2000 region proposals per image.
- Each proposed region is cropped and warped, then passed through a CNN (e.g., AlexNet/VGG16) to extract features.
- These features are sent to:
- an SVM classifier to determine the object class
- a linear regressor to refine bounding box coordinates
- RCNN is accurate but computationally expensive due to repeated CNN operations on overlapping regions.

Custom RCNN Class
RCNN Model (Custom Implementation)
- Implements the traditional RCNN architecture using Selective Search for region proposals.
- Uses a pre-trained CNN (e.g., VGG16) as a feature extractor for region proposals.
- Trains:
- an SVM for object classification,
- a Ridge Regressor for bounding box refinement.
- Handles image resizing with padding to maintain aspect ratio for CNN input.
- Predicts bounding boxes and classes on new images by extracting region proposals and classifying each using the trained models.
- Includes model persistence via pickle for SVM, regressor, and label encoder, and HDF5 for CNN backbone.
# Define RCNN tradional model
class RCNN:
def __init__(self, cnn_backbone, max_proposals=200):
self.cnn_backbone = cnn_backbone
self.max_proposals = max_proposals
self.encoder = LabelEncoder()
self.svm = LinearSVC(max_iter=10000)
self.bbox_regressor = Ridge()
def resize_with_padding(self, image, target_size=(224, 224)):
'''
Resize image with padding
'''
old_size = image.size
ratio = min(target_size[0] / old_size[0], target_size[1] / old_size[1])
new_size = (int(old_size[0] * ratio), int(old_size[1] * ratio))
image = image.resize(new_size, Image.Resampling.LANCZOS)
new_im = Image.new("RGB", target_size)
paste_position = ((target_size[0] - new_size[0]) // 2, (target_size[1] - new_size[1]) // 2)
new_im.paste(image, paste_position)
return new_im
def extract_features(self, images_pil):
'''
Extract features from images using CNN
'''
images_pil = [self.resize_with_padding(img) for img in images_pil]
arr = np.array([preprocess_input(img_to_array(img)) for img in images_pil])
return self.cnn_backbone.predict(arr, verbose=0)
def selective_search(self, img, max_proposals):
'''
Generate proposals using selective search
'''
ss = cv2.ximgproc.segmentation.createSelectiveSearchSegmentation()
ss.setBaseImage(img)
ss.switchToSelectiveSearchFast()
rects = ss.process()
return rects[:max_proposals]
def train(self, df, image_dir):
'''
Train RCNN model
'''
print("Training RCNN model...")
annotations = load_annotations_and_convert_yolo_bb(df, image_dir)
X, y_labels, bbox_deltas = [], [], []
for path, gt_boxes in tqdm(annotations.items(), desc="Processing training data"):
image_cv = cv2.imread(path)
if image_cv is None:
print(f"Warning: Could not read image {path}")
continue
rects = self.selective_search(image_cv, self.max_proposals)
rois_pil, coords = [], []
for (x, y, w, h) in rects:
x2, y2 = x + w, y + h
roi = image_cv[y:y2, x:x2]
if roi.shape[0] < 20 or roi.shape[1] < 20:
continue
roi_pil = Image.fromarray(cv2.cvtColor(roi, cv2.COLOR_BGR2RGB))
roi_pil = self.resize_with_padding(roi_pil)
rois_pil.append(roi_pil)
coords.append((x, y, x2, y2))
if not rois_pil:
continue
features_batch = self.extract_features(rois_pil)
for features, (x, y, x2, y2) in zip(features_batch, coords):
max_iou = 0
assigned_label = "background"
assigned_box = None
for gt in gt_boxes:
iou = compute_iou([x, y, x2, y2], gt[:4])
if iou > max_iou:
max_iou = iou
assigned_label = gt[4]
assigned_box = gt[:4]
X.append(features)
y_labels.append(assigned_label)
if assigned_label != "background":
dx1 = assigned_box[0] - x
dy1 = assigned_box[1] - y
dx2 = assigned_box[2] - x
dy2 = assigned_box[3] - y
bbox_deltas.append([dx1, dy1, dx2, dy2])
else:
bbox_deltas.append([0, 0, 0, 0])
y_encoded = self.encoder.fit_transform(y_labels)
self.svm.fit(X, y_encoded)
self.bbox_regressor.fit(X, bbox_deltas)
print("Training complete.")
def predict(self, image_path):
'''
Predict using RCNN model
'''
image_cv = cv2.imread(image_path)
if image_cv is None:
raise ValueError(f"Image at {image_path} could not be read")
rects = self.selective_search(image_cv, self.max_proposals)
predictions = []
for (x, y, w, h) in rects:
x2, y2 = x + w, y + h
roi = image_cv[y:y2, x:x2]
if roi.shape[0] < 64 or roi.shape[1] < 64:
continue
roi_pil = Image.fromarray(cv2.cvtColor(roi, cv2.COLOR_BGR2RGB))
roi_pil = self.resize_with_padding(roi_pil)
features = self.extract_features([roi_pil])[0].reshape(1, -1)
scores = self.svm.decision_function(features)[0]
pred_cls_index = np.argmax(scores)
confidence = scores[pred_cls_index]
label = self.encoder.inverse_transform([pred_cls_index])[0]
if label == "background":
continue
deltas = self.bbox_regressor.predict(features)[0]
final_box = [x + int(deltas[0]), y + int(deltas[1]), x + int(deltas[2]), y + int(deltas[3])]
height, width = image_cv.shape[:2]
x1 = max(0, min(final_box[0], width - 1))
y1 = max(0, min(final_box[1], height - 1))
x2 = max(0, min(final_box[2], width - 1))
y2 = max(0, min(final_box[3], height - 1))
predictions.append({
"label": label,
"bbox": [x1, y1, x2, y2],
"score": float(confidence)
})
return predictions
def save_to_disk(self):
'''
Save RCNN model to disk
'''
with open("svm_classifier.pkl", "wb") as f:
pickle.dump(self.svm, f)
with open("bbox_regressor.pkl", "wb") as f:
pickle.dump(self.bbox_regressor, f)
with open("label_encoder.pkl", "wb") as f:
pickle.dump(self.encoder, f)
self.cnn_backbone.save("cnn_feature_extractor.h5")
Train RCNN Model
- We define the RCNN model using
EfficientNetB1as the CNN backbone, pre-trained on ImageNet. - The model is configured to generate up to 400 region proposals per image using Selective Search.
- Training is performed on the dataset using:
- a Linear SVM for classifying each region,
- and a Ridge Regressor for refining bounding box coordinates.
# Define RCNN Model with 400 max proposals
model=RCNN(EfficientNetB1(weights="imagenet", include_top=False, pooling='avg'),max_proposals=400)
model.train(train_df,base_path)
Downloading data from https://storage.googleapis.com/keras-applications/efficientnetb1_notop.h5 27018416/27018416 ━━━━━━━━━━━━━━━━━━━━ 2s 0us/step
Processing training data: 100%|██████████| 453/453 [52:37<00:00, 6.97s/it]
Training complete.
Observations:¶
- Computionally expenshive as it toook more then 1.3 hours for 400 region proposal
- This might be due to the selective search Algorithim which pass each region again and again and doonot reuse th features maps
Inference and Visualization on Test Image
The trained RCNN model is saved to disk, including:
- the SVM classifier,
- bounding box regressor,
- label encoder,
- and CNN feature extractor.
A single test image is picked (one from each class) to perform prediction.
The model predicts bounding boxes and class labels using region proposals.
Predictions are visualized alongside ground truth annotations using
visualize_boxes_with_iou()with an IoU threshold of0.0to show all matches.
# Save to disk
model.save_to_disk()
# Pick One image or instance from each class
df_one=test_df.drop_duplicates('class_name')
test_bb_box=load_annotations_and_convert_yolo_bb(df_one,base_path)
# Show only first instance
path=df_one.iloc[1]['image_name']
image_path=os.path.join(base_path,path)
prediction=model.predict(image_path=image_path)
gt_boxes=test_bb_box[image_path]
# Show with IOU threshold of 0.0
visualize_boxes_with_iou(image_path=image_path, predictions=prediction, ground_truths=gt_boxes,threshold=0.0)
WARNING:absl:You are saving your model as an HDF5 file via `model.save()` or `keras.saving.save_model(model)`. This file format is considered legacy. We recommend using instead the native Keras format, e.g. `model.save('my_model.keras')` or `keras.saving.save_model(model, 'my_model.keras')`.
observations:¶
SO many bounding box with 0.0 ,Lets limit the threshold of IOU to 0.5
# Show only one image but with IOU threshold of 0.6
df_one=test_df.drop_duplicates('class_name')
test_bb_box=load_annotations_and_convert_yolo_bb(df_one,base_path)
path=df_one.iloc[1]['image_name']
image_path=os.path.join(base_path,path)
prediction=model.predict(image_path=image_path)
gt_boxes=test_bb_box[image_path]
visualize_boxes_with_iou(image_path=image_path, predictions=prediction, ground_truths=gt_boxes,threshold=0.6)
Observations:¶
Now we can see all the boudning box are reduced and if we take only highest one then we will get the exact bouding box
# SHow One image from ecah class
for row in df_one.iterrows():
image_path=os.path.join(base_path,row[1]['image_name'])
prediction=model.predict(image_path=image_path)
gt_boxes=test_bb_box[image_path]
visualize_boxes_with_iou(image_path, prediction, gt_boxes,0.6)
image_names_list = list(test_df['image_name']) # Extract image names from the DataFrame
image_paths_list = [os.path.join(base_path, image_name) for image_name in image_names_list] # Create full image paths
predictions_by_image = {}
for img_path in image_paths_list:
img = cv2.imread(img_path) # Read image using OpenCV
if img is None:
continue # Skip if image is unreadable
try:
predictions_by_image[img_path] = model.predict(img_path) # Run YOLO prediction
except Exception as e:
print(f"Error predicting for {img_path}: {e}") # Handle prediction errors
ground_truth_by_image = test_bb_box # Ground truth annotations
# Evaluate predictions using mean Average Precision (mAP)
mAP, ap_per_class = evaluate_map(predictions_by_image, ground_truth_by_image)
print(f"mAP: {mAP:.3f}") # Print overall mAP
for cls, ap in ap_per_class.items():
print(f"{cls}: {ap:.3f}") # Print AP for each class
mAP: 0.553 tacos: 0.303 samosa: 0.227 french_fries: 0.909 strawberry_shortcake: 0.909 ice_cream: 0.000 onion_ring: 0.909 nachos: 0.000 pizza: 0.455 chocolate_cake: 0.909 waffle: 0.909
| Class | Average Precision (AP) |
|---|---|
| tacos | 0.303 |
| samosa | 0.227 |
| french_fries | 0.909 |
| strawberry_shortcake | 0.909 |
| ice_cream | 0.000 |
| onion_ring | 0.909 |
| nachos | 0.000 |
| pizza | 0.455 |
| chocolate_cake | 0.909 |
| waffle | 0.909 |
mAP: 0.553
Observations¶
- High-performing classes (AP ≥ 0.90):
french_fries,strawberry_shortcake,onion_ring,chocolate_cake, andwaffleare detected very well, likely due to strong visual distinction and good annotations. - Zero AP classes:
ice_creamandnachosscored 0.000 AP, suggesting issues like poor annotations, occlusion, or high intra-class variation. pizzashows moderate detection capability (0.455 AP), indicating potential for improvement.
Faster RCNN¶
Faster R-CNN is an advanced object detection model that improves over R-CNN by replacing the slow selective search with a Region Proposal Network (RPN), which generates region proposals directly from the feature maps. This allows end-to-end training and significantly speeds up detection while maintaining high accuracy.
Faster RCNN Helpers¶
Custom Dataset Summary
- The
FasterRCNNDatasetclass extends PyTorch'sDatasetto work with Faster R-CNN. - It loads images and their corresponding bounding boxes and class labels.
- Labels are encoded using
LabelEncoder. - If a transform (e.g., Albumentations) is provided, it applies augmentations to both images and bounding boxes.
- Returns a tuple: the image tensor and a dictionary containing
boxesandlabels.
#Extend Dataset class to have own custom daatset
class FasterRCNNDataset(Dataset):
def __init__(self, annotations, label_encoder, transform=None):
self.image_paths = list(annotations.keys())
self.annotations = annotations
self.label_encoder = label_encoder
self.transform = transform
# dunder methods for overriding Dataset
def __getitem__(self, idx):
image_path = self.image_paths[idx]
image = np.array(Image.open(image_path).convert("RGB"))
annots = self.annotations[image_path]
boxes = []
labels = []
for x1, y1, x2, y2, label in annots:
boxes.append([x1, y1, x2, y2])
labels.append(self.label_encoder.transform([label])[0])
# Albumentations expects labels to be in list
if self.transform:
transformed = self.transform(image=image, bboxes=boxes, labels=labels)
image = transformed['image']
boxes = transformed['bboxes']
labels = transformed['labels']
else:
image = F.to_tensor(image)
target = {
"boxes": torch.tensor(boxes, dtype=torch.float32),
"labels": torch.tensor(labels, dtype=torch.int64)
}
return image, target
def __len__(self):
return len(self.image_paths)
Faster R-CNN Model Setup and Training:
def get_model(num_classes):
"""
Load a pre-trained Faster R-CNN model and adapt it for a custom number of classes.
Args:
num_classes: Total number of output classes including background (usually background is class 0).
Returns:
model: Modified Faster R-CNN model ready for training.
"""
# Load a Faster R-CNN model pre-trained on COCO dataset
model = torchvision.models.detection.fasterrcnn_resnet50_fpn(pretrained=True)
# Extract the number of input features for the final classifier layer
in_features = model.roi_heads.box_predictor.cls_score.in_features
# Replace the classifier head with a new one suited for the target number of classes
model.roi_heads.box_predictor = FastRCNNPredictor(in_features, num_classes)
return model
def train_faster_rcnn(model, train_loader, device, epochs=5):
"""
Train a Faster R-CNN model using a given DataLoader.
Args:
model: A Faster R-CNN model created using get_model().
train_loader: DataLoader providing batches of images and annotations.
device: Device to use ('cuda' or 'cpu').
epochs: Number of training epochs.
Returns:
None (trains the model in-place and prints loss after each epoch).
"""
# Move the model to the selected device (GPU/CPU)
model.to(device)
model.train()
# Use AdamW optimizer which includes weight decay (helps regularize training)
optimizer = torch.optim.AdamW(model.parameters(), lr=1e-4)
# Loop through each training epoch
for epoch in range(epochs):
epoch_loss = 0.0
# Loop through each batch from the training DataLoader
for imgs, targets in train_loader:
# Move both images and their corresponding targets to the device
imgs = [img.to(device) for img in imgs]
targets = [{k: v.to(device) for k, v in t.items()} for t in targets]
# Forward pass through the model to compute individual loss components
loss_dict = model(imgs, targets)
# Total loss is the sum of all individual losses (e.g., classification, bbox regression)
losses = sum(loss for loss in loss_dict.values())
# Zero out previous gradients before backprop
optimizer.zero_grad()
# Backward pass to compute gradients
losses.backward()
# Update model weights
optimizer.step()
# Accumulate loss for monitoring
epoch_loss += losses.item()
# Print average loss for the epoch
avg_loss = epoch_loss / len(train_loader)
print(f"Epoch {epoch+1}: Avg Loss = {avg_loss:.4f}")
Faster R-CNN Prediction:
def get_predictions_faster_rcnn(model, dataset, label_encoder, device, confidence_threshold=0.5):
"""
Run inference on a dataset using a trained Faster R-CNN model.
Args:
model: Trained Faster R-CNN model.
dataset: A custom dataset where each item returns (image_tensor, target_dict).
label_encoder: A fitted LabelEncoder used to decode label indices into class names.
device: The device to run inference on ('cuda' or 'cpu').
confidence_threshold: Minimum confidence score to keep a prediction.
Returns:
image_data_list: A list of dictionaries, each containing:
- image_path
- predictions: list of predicted bboxes with class labels and scores
- ground_truths: list of ground truth bboxes with class labels
"""
# Create a mapping from class index to class name
label_mapper = dict(zip(
label_encoder.transform(label_encoder.classes_), # [0, 1, 2, ...]
label_encoder.classes_ # ['cat', 'dog', ...]
))
image_data_list = []
# Iterate over all samples in the dataset
for i in range(len(dataset)):
image_path = dataset.image_paths[i]
image, target = dataset[i]
if image is None:
continue # Skip if image could not be loaded
with torch.no_grad():
# Run inference for a single image
prediction = model([image.to(device)])[0]
# Extract boxes, labels, and confidence scores from prediction
boxes = prediction['boxes'].cpu().numpy()
labels = prediction['labels'].cpu().numpy()
scores = prediction['scores'].cpu().numpy()
# Filter predictions based on confidence threshold
filtered_preds = [
{
"bbox": bbox,
"label": label_mapper[label],
"score": score
}
for bbox, label, score in zip(boxes, labels, scores)
if score >= confidence_threshold
]
# Ground truth: convert bounding boxes and label indices to readable format
gt_boxes = target["boxes"].cpu().numpy()
gt_labels = target["labels"].cpu().numpy()
gt = [
list(gt_box) + [label_mapper[label]]
for gt_box, label in zip(gt_boxes, gt_labels)
]
# Store all information for this image
image_data_list.append({
"image_path": image_path,
"predictions": filtered_preds,
"ground_truths": gt
})
return image_data_list
Faster R-CNN Training:
# Encode class labels
label_encoder = LabelEncoder()
label_encoder.fit(train_df['class_name'].astype(str))
# Convert YOLO to pixel boxes
annotations = load_annotations_and_convert_yolo_bb(train_df, base_path)
# Create Dataset and DataLoader
train_dataset = FasterRCNNDataset(annotations, label_encoder)
train_loader = DataLoader(train_dataset, batch_size=2, shuffle=True, collate_fn=lambda x: tuple(zip(*x)))
# Model
num_classes = len(label_encoder.classes_) + 1 # include background
model = get_model(num_classes)
# Train
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
train_faster_rcnn(model, train_loader, device, epochs=30)
/usr/local/lib/python3.11/dist-packages/torchvision/models/_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and may be removed in the future, please use 'weights' instead. warnings.warn( /usr/local/lib/python3.11/dist-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=FasterRCNN_ResNet50_FPN_Weights.COCO_V1`. You can also use `weights=FasterRCNN_ResNet50_FPN_Weights.DEFAULT` to get the most up-to-date weights. warnings.warn(msg)
Epoch 1: Loss = 0.5244 Epoch 2: Loss = 0.0516 Epoch 3: Loss = 0.1357 Epoch 4: Loss = 0.6049 Epoch 5: Loss = 0.0910 Epoch 6: Loss = 0.1557 Epoch 7: Loss = 0.1110 Epoch 8: Loss = 0.1573 Epoch 9: Loss = 0.4337 Epoch 10: Loss = 0.4737 Epoch 11: Loss = 0.1409 Epoch 12: Loss = 0.2648 Epoch 13: Loss = 0.0319 Epoch 14: Loss = 0.2202 Epoch 15: Loss = 0.0744 Epoch 16: Loss = 0.1715 Epoch 17: Loss = 0.0622 Epoch 18: Loss = 0.0377 Epoch 19: Loss = 0.3208 Epoch 20: Loss = 0.0774 Epoch 21: Loss = 0.1495 Epoch 22: Loss = 0.2125 Epoch 23: Loss = 0.1563 Epoch 24: Loss = 0.0348 Epoch 25: Loss = 0.4096 Epoch 26: Loss = 0.1356 Epoch 27: Loss = 0.1623 Epoch 28: Loss = 0.0381 Epoch 29: Loss = 0.2366 Epoch 30: Loss = 0.0462
- Loss at 30 epch was at 0.0462.We will see if this improves the performances
- Faster RCNN is faster then RCNN model compared to RCNN due to image being passed only once and faster RCNN has Region Proposal Network which is a CNN model and we are reusing features map which is generated by CNN.
Show 3 images from each class¶
Faster R-CNN Inference:
# Filter the DataFrame
test_df_filtered = test_df[test_df['image_name'].apply(lambda x: cv2.imread(os.path.join(base_path, x)) is not None)].reset_index(drop=True)
test_annotations = load_annotations_and_convert_yolo_bb(test_df_filtered, base_path)
test_dataset = FasterRCNNDataset(test_annotations, label_encoder)
model.eval()
# get prediction
image_data_list=get_predictions_faster_rcnn(model, test_dataset, label_encoder, device)
visualize_multiple_images(image_data_list,threshold=0.5)